时间函数:Python提供了一系列用于操作时间和日期的函数和模块。
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初学者有所帮助。
