time 模块的方法
- time.time():返回当前时间的时间戳。
>>> import time >>> time.time() #从1974年到现在过去了多少微秒 1551695952.625551
- time.localtime([secs]): 将一个时间戳转换为当前时区的 struc_time ,secs 参数未提供,则以当前时间为准。
>>> time.localtime() #获取当地时间 time.struct_time(tm_year=2019, tm_mon=3, tm_mday=4, tm_hour=18, tm_min=39, tm_sec=54, tm_wday=0, tm_yday=63, tm_isdst=0) #年,月,日,小时,分钟,秒 >>> a = time.localtime()#可以单独获取a中的信息 >>> a.tm_year 2019 >>> '%s-%s-%s'%(a.tm_year,a.tm_mon,a.tm_mday) '2019-3-4'
- time.gmtime([secs]):和 localtime() 方法类似,gmtime() 方法是将一个时间戳转换为UTC时区(0时区)的 struc_time 。
>>> time.gmtime() #比北京时间早四个小时 time.struct_time(tm_year=2019, tm_mon=3, tm_mday=4, tm_hour=10, tm_min=48, tm_sec=16, tm_wday=0, tm_yday=63, tm_isdst=0)
- time.mktime():将一个 struc_time 转化为时间戳。
>>> time.localtime() time.struct_time(tm_year=2019, tm_mon=3, tm_mday=4, tm_hour=18, tm_min=59, tm_sec=46, tm_wday=0, tm_yday=63, tm_isdst=0) >>> time.time() 1551697201.584807 >>> a = time.localtime(1551697201) >>> a time.struct_time(tm_year=2019, tm_mon=3, tm_mday=4, tm_hour=19, tm_min=0, tm_sec=1, tm_wday=0, tm_yday=63, tm_isdst=0) >>> time.mktime(a) 1551697201.0
- time.sleep(secs):线程推迟指定的时间运行,单位为秒。
>>> time.sleep(2) #程序推迟两秒运行
- time.asctime([t]):把一个表示时间的元组或者 struc_time 表示为这种形式:' Sun Oct 1 12:04:38 2017 ' ,如果没有参数,将会将 time.localtime() 作为参数传入。
>>> time.asctime() 'Mon Mar 4 19:07:43 2019'
- time.ctime([secs]):把一个时间戳(按秒计算的浮点数)转化为 time.asctime() 的形式。如果参数未给或者为 None 的时候,将会默认 time.time() 为参数,它的作用相当于 time.asctime(time.localtime(secs)) 。
>>> time.ctime() 'Mon Mar 4 19:08:16 2019' >>> time.ctime(123232) 'Fri Jan 2 18:13:52 1970' >>> time.ctime(0) 'Thu Jan 1 08:00:00 1970'
- time.strftime(format[,t]):把一个代表时间的元组或者 struc_time (如由 time.localtime() 和 time.gmtime() 返回)转化为格式化的时间字符串。如果 t 未指定,将传入 time.localtime() 。
- 举例:time.strftime("%Y-%m-%d %X", time.localtime()) #输出 "2017-10-01 12:14:23"
>>> time.strftime('2017-8-9') #如果输入数字,输进去什么,出来就是什么 '2017-8-9' >>> time.strftime('%Y-%m') #应该输入想要输出的格式 '2019-03' >>> time.strftime('%Y-%m-%d %X',time.localtime()) '2019-03-04 19:43:55' >>> time.strftime('%Y-%m-%d %H:%M:%S') '2019-03-04 19:45:01' >>> time.strftime('%Y-%m-%d %H:%M:%S %z %Z') '2019-03-04 20:08:39 +0800 CST'
格式有很多: %y 不加20的年 %Y 年 %m 月 %d 日 %X 时间 %H 小时 %M 分钟 %S 秒 %a 星期简写 %A 星期全称 %b 月份简写 %B 月份全称 %p 上下午(am or pm) %U 今年的第几周 %w 本周的第几天(周日是0) %z 数字时区 %Z 英文时区
- time.strptime(string[,format]):把一个格式化时间字符串转化为 struc_time 。实际上它和 strftime() 是逆操作。
- 举例:time.strptime("2017-10-03 17:54", %Y-%m-%d %H:%M") #输出 time.strcu_time ( tm_year = 2017, tm_mon = 10, tm_mday = 3, tm_hour = 17, tm_min = 54, tm_sec = 0, tm_wday = 1, tm_yday = 276, tm_isdst = -1)
>>> s = time.strftime('%Y-%m-%d %H:%M:%S') >>> s '2019-03-04 20:17:47' >>> time.strptime(s,'%Y-%m-%d %H:%M:%S') time.struct_time(tm_year=2019, tm_mon=3, tm_mday=4, tm_hour=20, tm_min=17, tm_sec=47, tm_wday=0, tm_yday=63, tm_isdst=-1)