时间模块
UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时。
在Python中,通常有这几种方式来表示时间:
1)时间戳,1970年1月1日之后的秒,即:time.time()
2)格式化的时间字符串,即:time.strftime(’%Y-%m-%d’)
3)结构化时间: 元组共九个元素,包含了:年、月、日、星期等… 返回struct_time的函数主要有gmtime(),localtime(),strptime()等.
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> import time
>>> time.time() #返回时间戳
1547911729.4856396
>>> time.localtime() #可加时间戳参数time.time()
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=23, tm_min=29, tm_sec=42, tm_wday=5, tm_yday=19, tm_isdst=0)
>>> time.localtime() #可加时间戳参数time.time()
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=23, tm_min=30, tm_sec=53, tm_wday=5, tm_yday=19, tm_isdst=0)
>>> time.strftime('%Y-%m-%d') # 默认当前时间
'2019-01-19'
>>> time.strftime('%Y-%m-%d', time.localtime()) # 默认当前时间
'2019-01-19'
>>> time.strptime('2019-01-19', '%Y-%m-%d') #自定义时间
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=19, tm_isdst=-1)
>>> time.asctime() #返回时间格式
'Sat Jan 19 23:33:21 2019'
>>> time.localtime() #返回本地时间 的struct time对象格式
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=23, tm_min=34, tm_sec=8, tm_wday=5, tm_yday=19, tm_isdst=0)
>>> time.asctime(time.localtime()) #返回时间格式
'Sat Jan 19 23:35:03 2019'
>>> time.ctime() #返回时间格式
'Sat Jan 19 23:25:03 2019'
>>> time.process_time() #测量处理器运算时间,不包括sleep时间
5.1948333
#将日期字符串 转成 struct时间对象格式
>>> string_2_struct = time.strptime("2019-01-19","%Y-%m-%d")
>>> print(string_2_struct)
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=19, tm_isdst=-1)
#将struct时间对象转成时间戳
>>> struct_2_stamp = time.mktime(string_2_struct)
>>> print(struct_2stamp)
1547827200.0
#将时间戳转为字符串格式
# 1.将utc时间戳转换成struct_time格式
>>> time.gmtime(time.time()-86640)
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=18, tm_hour=15, tm_min=38, tm_sec=29, tm_wday=4, tm_yday=18, tm_isdst=0)
# 2.将utc struct_time格式转成指定的字符串格式
>>> time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime())
'2019-01-19 15:43:41'
**时间加减 **
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> import time
>>> import datetime
>>> datetime.datetime.now() # 返回2019-01-20 00:03:39.547184
datetime.datetime(2019, 1, 20, 0, 3, 39, 547184)
>>> datetime.date.fromtimestamp(time.time()) # 时间戳直接转成日期格式2019-01-20
datetime.date(2019, 1, 20)
>>> datetime.datetime.now() + datetime.timedelta(3) # 当前时间+3天
datetime.datetime(2019, 1, 23, 0, 4, 10, 418950)
>>> datetime.datetime.now() + datetime.timedelta(-3) # 当前时间-3天
datetime.datetime(2019, 1, 17, 0, 4, 25, 591817)
>>> datetime.datetime.now() + datetime.timedelta(hours=3) # 当前时间+3小时
datetime.datetime(2019, 1, 20, 3, 4, 41, 192710)
>>> datetime.datetime.now() + datetime.timedelta(minutes=30) # 当前时间+30分
datetime.datetime(2019, 1, 20, 0, 34, 50, 179224)
>>> c_time = datetime.datetime.now() # 时间替换
>>> c_time.replace(minute=3,hour=2)
datetime.datetime(2019, 1, 20, 2, 3, 12, 677511)
格式参照
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
%a 本地(locale)简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01 - 31)
%H 一天中的第几个小时(24小时制,00 - 23)
%I 第几个小时(12小时制,01 - 12)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地am或者pm的相应符 一
%S 秒(01 - 61) 二
%U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。 三
%w 一个星期中的第几天(0 - 6,0是星期天) 三
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%’字符
时间关系转换