time&datatime
import time
time.time()
>>>返回从Epoch time(1970-01-01 00:00:00 UTC)至今的秒数
time.localtime()
>>>返回如下元组:
time.struct_time(tm_year=2017, tm_mon=8, tm_mday=3, tm_hour=17, tm_min=16, tm_sec=40, tm_wday=3, tm_yday=215, tm_isdst=0)
time.gmtime()
>>>返回同上元组:不过是UTC-0时区的(比UTC-8少8小时)
time.localtime()和time.gmtime()可以传入秒数(时间戳),把传入的秒数转换成以上格式
总结:gmtime()为UTC时区,localtime()为本地时区。
x=time.localtime(12131232311)
print(x.tm_year)
print(x.tm_yday)
>>>2354
>>>156
time.mktime() 把传入的元组转换成时间戳,可以想象成time.localtime()的逆过程
time.strftime(自定义格式,元组) 把元组的时间以自定义格式显示
形如:
print(time.strftime('%Y-%m-%d %H:%M:%S'))
>>>2017-08-03 17:59:18
或者:
x=time.localtime(123123123)
print(time.strftime('%Y-%m-%d %H:%M:%S',x)) #这里的-和:可以自定义
>>>1973-11-26 08:52:03
下面给出具体格式:
%Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
%a Locale's abbreviated weekday name.
%A Locale's full weekday name.
%b Locale's abbreviated month name.
%B Locale's full month name.
%c Locale's appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale's equivalent of either AM or PM.
time.strptime(字符串,自定义的格式)把自定义时间转换成元组格式的时间,形如:(time.struct_time(tm_year=2017, tm_mon=8, tm_mday=3, tm_hour=17, tm_min=16, tm_sec=40, tm_wday=3, tm_yday=215, tm_isdst=0))
该字符串表示的时间要与自定义的格式保持一致
time.strptime()可以想象成time.strftime()的逆过程
x=time.localtime(123123123) #x为元组形式的时间
print(time.strftime('%Y-%m-%d %H:%M:%S',x)) #把元组形式的时间转换成自定义的字符串形式的时间
print(time.strptime('1973-11-26 08:52:03','%Y-%m-%d %H:%M:%S')) #把自定义的字符串形式的时间转换成元组形式的时间
>>>1973-11-26 08:52:03
>>>time.struct_time(tm_year=1973, tm_mon=11, tm_mday=26, tm_hour=8, tm_min=52, tm_sec=3, tm_wday=0, tm_yday=330, tm_isdst=-1)
总结:localtime()为元组形式的时间,mktime()把元组形式的时间转换成时间戳,strftime()把元组形式的时间转换成自定义字符串时间,strptime()把自定义字符串时间转换成元组形式的时间
localtime():时间戳>>>元组形式的时间
mktime():元组形式的时间>>>时间戳
strftime():元组形式的时间>>>自定义字符串时间
strptime():自定义字符串时间>>>元组形式的时间
元组形式的时间可以用.tm_year,.tm_mon等等调用对应的数据
x=time.localtime(123123123)
print(x.tm_mon)
>>>11 #该时间下月份为11