time模块详解
time.time() 返回当前时间的时间戳
>>> import time
>>> time.time()
1535468148.2249777
>>> time.time()
1535468154.5151157
>>> time.time()
1535468155.0847657
>>> time.time()
1535468156.0301788
>>> time.time()
1535468158.9373777
>>> time.time()
1535468161.5517592
>>>
time.localtime() 打印本地时间
>>> import time
>>>
>>> time.localtime()
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=28, tm_hour=23, tm_min=6, tm_sec=42, tm_wday=1, tm_yday=240, tm_isdst=0)
>>> a=time.localtime()
>>> "%s-%s-%s"%(a.tm_year,a.tm_mon,a.tm_mday)
'2018-8-28'
>>>
>>>>
>>> a=time.localtime(1409321)
>>> a
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=17, tm_hour=15, tm_min=28, tm_sec=41, tm_wday=5, tm_yday=17, tm_isdst=0)
>>>
time.gmtime([secs]) 和localtime()方法类似,gmtime()方法是将时间戳转换为 UTC时间 (0时区)格林尼治时间 的struct_time
>>> time.gmtime()
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=28, tm_hour=14, tm_min=59, tm_sec=9, tm_wday=1, tm_yday=240, tm_isdst=0)
>>>
time.mktime(t) 将一个struct_time转化为时间戳
>>> time.mktime(a)
1409321.0
>>>
time.sleep(secs) 线程推迟指定的时间运行,单位为秒
>>>
>>> time.sleep(2)
>>>
>>>
>>>
time.asctime() 把一个表示时间的元组或者struct_time表示成这种形式:‘Tue Aug 28 23:18:26 2018’,如果没有参数,将会将time.localtime()作为参数传入
>>> time.asctime()
'Tue Aug 28 23:18:26 2018'
>>>
>>>
time.ctime([secs])把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式,如果参数未给或者为None的时候,将会默认time.time()为参数,它的作用相当于time.asctime(time.localtime(secs))
>>> time.ctime()
'Tue Aug 28 23:20:33 2018'
>>>>>>
>>> time.ctime(12312334)
'Sat May 23 20:05:34 1970'
>>>
>>> time.ctime(0)
'Thu Jan 1 08:00:00 1970'
>>>
time.strftime(format[,t]):把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串,如果t未定,将传入time.localtime()
>>> time.strftime('%y-%m-%d')
'18-08-28'
>>>
>>> a
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=17, tm_hour=15, tm_min=28, tm_sec=41, tm_wday=5, tm_yday=17, tm_isdst=0)
>>>>>> time.strftime('%Y-%m-%d %H:%M:%S %U')
'2018-08-28 23:31:08 34' #U代表这一年的第几周
>>> time.strftime('%Y-%m-%d %H:%M:%S %w')
'2018-08-28 23:46:53 2'
>>>
>>> time.strftime('%Y-%m-%d %H:%M:%S %p')
'2018-08-28 23:47:00 PM'
>>>
>>> time.strftime('%Y-%m-%d %H:%M:%S %z')
'2018-08-28 23:47:10 +0800'
>>>
>>>> time.strftime('%Y %m-%d %H:%M:%S %U',a)
'1970 01-17 15:28:41 02'
>>>
>>> time.strftime('%Y %m-%d %H:%M:%S %A',a)
'1970 01-17 15:28:41 Saturday'
time.strptime(string[,format])把一个格式化时间字符串转化为struct_time,实际上它和striftime()是逆操作
>>> time.strptime(s,'%Y-%m-%d %H:%M:%S %U')
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=28, tm_hour=23, tm_min=32, tm_sec=12, tm_wday=1, tm_yday=240, tm_isdst=-1)
字符串转时间格式对应表
格式标识符表
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身