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)