欢迎访问宙启技术站
智能推送

时间函数:Python提供了一系列用于操作时间和日期的函数和模块。

发布时间:2023-06-01 12:04:26

Python中的时间函数和模块非常强大,可以让您对时间和日期进行各种运算和格式化操作。本文将介绍Python中的常用时间函数和模块,并提供使用示例。

1. time模块

time模块是Python中最基本的时间模块,它提供了操作时间的基本函数和类。下面是一些常用的函数:

① time()

time()函数返回从1970年1月1日0点0分0秒到当前时间的秒数(即时间戳),例如:

import time

print(time.time())

输出的结果如下:

1552498893.697866

使用time()函数可以获得当前时间的时间戳,通常用于计算程序的执行时间。

② localtime()

localtime()函数根据时间戳获取当地时间的struct_time对象,该对象包含9个元素(年、月、日、时、分、秒、一周的第几日、一年的第几日和是否为夏令时),例如:

import time

print(time.localtime(time.time()))

输出的结果如下:

time.struct_time(tm_year=2019, tm_mon=3, tm_mday=13, tm_hour=9, tm_min=40, tm_sec=29, tm_wday=2, tm_yday=72, tm_isdst=0)

③ asctime()

asctime()函数根据struct_time对象获取格式化的时间字符串,例如:

import time

print(time.asctime(time.localtime(time.time())))

输出的结果类似于以下格式:

Wed Mar 13 09:40:29 2019

④ strftime()

strftime()函数将struct_time对象格式化为字符串,常用的格式化字符串有:

%y:两位数的年份表示(00-99)

%Y:四位数的年份表示(0000-9999)

%m:月份(01-12)

%d:月内中的一天(01-31)

%H:24小时制小时数(00-23)

%I:12小时制小时数(01-12)

%M:分钟数(00-59)

%S:秒数(00-61)

%a:本地简化星期名称

%A:本地完整星期名称

%b:本地简化月份名称

%B:本地完整月份名称

%c:本地相应的日期和时间表示

%j:年内的一天(001-366)

%p:本地A.M.或P.M.的等价符

%U:一年中的星期数(00-53)星期天为星期的开始

%w:星期(0-6),星期天为0

%W:一年中的星期数(00-53)星期一为星期的开始

%x:本地相应日期

%X:本地相应时间

%Z:当前时区的名称

%%:%号本身

例如:

import time

print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

输出的结果类似于以下格式:

2019-03-13 09:40:29

⑤ sleep()

sleep()函数使程序进入休眠状态,单位为秒,例如:

import time

time.sleep(2)

print("sleep 2 seconds")

程序会在执行到sleep()函数的时候进入休眠状态2秒钟,输出的结果如下:

sleep 2 seconds

2. datetime模块

datetime模块是Python中更高级的时间模块,它提供了时间和日期的高级函数和类。datetime模块用法类似于time模块,下面是一些常用的函数:

① datetime()

datetime()函数返回当前的日期时间,例如:

import datetime

print(datetime.datetime.now())

输出的结果如下:

2019-03-13 09:48:54.452953

② date()

date()函数根据年、月、日创建date对象,例如:

import datetime

d = datetime.date(2019, 3, 13)

print(d)

输出的结果如下:

2019-03-13

③ time()

time()函数根据时、分、秒、微秒创建time对象,通常结合datetime对象一起使用,例如:

import datetime

t = datetime.time(9, 48, 54, 452953)

d = datetime.date.today()

dt = datetime.datetime.combine(d, t)

print(dt)

输出的结果如下:

2019-03-13 09:48:54.452953

④ timedelta()

timedelta()函数用于计算时间差,例如:

import datetime

d1 = datetime.date(2019, 3, 13)

d2 = datetime.date(2019, 3, 10)

delta = d1 - d2

print(delta.days)

输出的结果为3,表示d1与d2相差3天。

3. calendar模块

calendar模块提供了一些操作日历的函数和类,下面是一些常用的函数:

① month()

month()函数生成指定年月的日历字符串,例如:

import calendar

print(calendar.month(2019, 3))

输出日历的结果如下:

     March 2019

Mo Tu We Th Fr Sa Su

             1  2  3

 4  5  6  7  8  9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30 31

② isleap()

isleap()函数判断指定年份是否为闰年,例如:

import calendar

print(calendar.isleap(2019))

输出的结果为False,表示2019年不是闰年。

4. pytz模块

pytz模块用于处理时区相关问题,它提供了时区的定义和转换。下面是一些常用的函数:

① timezone()

timezone()函数根据指定的时差创建时区对象,例如:

import pytz

tz = pytz.timezone('US/Eastern')

print(tz)

输出的结果如下:

US/Eastern

② localize()

localize()函数将naive时间(没有时区信息)转为有时区信息的带时区时间,例如:

import pytz

import datetime

dt_naive = datetime.datetime(2019, 3, 13, 10, 0, 0)

tz = pytz.timezone('US/Eastern')

dt = tz.localize(dt_naive)

print(dt)

输出的结果如下:

2019-03-13 10:00:00-04:00

③ astimezone()

astimezone()函数将带时区信息的时间转换为其他时区的时间,例如:

import pytz

import datetime

dt = datetime.datetime(2019, 3, 13, 10, 0, 0, tzinfo=pytz.timezone('US/Eastern'))

tz = pytz.timezone('Asia/Shanghai')

dt_new = dt.astimezone(tz)

print(dt_new)

输出的结果如下:

2019-03-13 23:00:00+08:00

以上就是Python中常用的时间函数和模块,希望本文能够对Python初学者有所帮助。