关于python的time的稍许认识

time.struct_time

struct_time是一个由元组存储的时间值序列类型,可以由gmtime(),localtime()和strptime()得到。struct_time是一个具有命名 tuple接口的对象,可以通过index和属性名对stuct_time序列进行访问:
在这里插入图片描述
示例:

>>> import time
>>> temp = time.localtime()
>>> temp
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=4, tm_hour=11, tm_min=4, tm_sec=15, tm_wday=4, tm_yday=277, tm_isdst=0)
>>> temp[0]
2019
>>>

time模块的若干函数的认识:

  • time.asctime([t])
    该函数接收gmtime()或localtime()的类型参数,或者是接收一个表示时间元组,将传入的参数转成如下时间格式:‘Sun Jun 20 23:21:05 1993’。如果没有传参,那么默认调用的是localtime()方法的结果作为参数进行时间格式转换。
>>> time.asctime(temp)
'Fri Oct  4 11:04:15 2019'
  • time.ctime([secs])
    将秒数时间转换为本地时间的字符串。如果秒数没有传递,那么就会默认调用time.time()作为秒数的参数进行时间表示,time.ctime([secs])函数相当于调用time.asctime(time.locatime([secs]))。
>>> time.ctime()
'Fri Oct  4 11:16:35 2019'
>>> time.ctime(time.time())
'Fri Oct  4 11:17:30 2019'

>>> time.asctime(time.localtime(32323))
'Thu Jan  1 16:58:43 1970'
>>> time.ctime(32323)
'Thu Jan  1 16:58:43 1970'
  • time.gmtime([secs])
    将自从epoch以来的秒数转换为UTC格式的struct_time时间。如果secs没有提供或者是为None,那么就是用time()产生的秒数进行时间格式转换。
>>> time.gmtime()
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=4, tm_hour=3, tm_min=28, tm_sec=31, tm_wday=4, tm_yday=277, tm_isdst=0)
>>> time.gmtime(32323)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=58, tm_sec=43, tm_wday=3, tm_yday=1, tm_isdst=0)
>>>
  • time.localtime([secs])
    同gmtime()函数,不过返回的是本地时间。如果传入的secs为空,那么就调用time.time()方法的秒数转为本地时间
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=4, tm_hour=11, tm_min=30, tm_sec=56, tm_wday=4, tm_yday=277, tm_isdst=0)
>>> time.localtime(32323)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=16, tm_min=58, tm_sec=43, tm_wday=3, tm_yday=1, tm_isdst=0)
>>>
  • time.mktime(t)
    这是localtime()的反函数。它的参数是struct_time或完整的9元组(因为需要dst标志;如果未知,请使用-1作为dst标志),它以本地时间而不是utc表示时间。它返回一个浮点数,以便与time()兼容。如果输入值不能表示为有效时间,则会引发overflowerror或valueerror(这取决于python或底层c库是否捕获了无效值)。它可以生成时间的最早日期取决于平台。
>>> time.mktime(temp)
1570158255.0
>>> time.mktime(time.localtime())
1570160251.0
>>>

  • time.sleep(secs)
    当前线程睡眠secs秒,再继续运行

  • time.strftime(format[, t])
    根据给定的format参数,将由gmtime()或者是localtime()函数返回时间结果的tuple或者是struct_time转换为字符串。如果t没有提供,那么就是用localtime()返回的strct_time转为字符串。如果t超过了允许的时间范围内,那么就会报ValueError错误。

时间格式(format):
在这里插入图片描述

>>> from time import gmtime,strftime
>>> strftime('%a,%d %b %Y %H:%M:%S',gmtime())
'Fri,04 Oct 2019 03:45:52'
>>>
  • time.strptime(string[, format])
    这个函数是time.strftime(format[, t])反函数,该函数是将时间字符串转为struct_time格式。
>>> time.strptime('30 Nov 20','%d %b %y')
time.struct_time(tm_year=2020, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=335, tm_isdst=-1)
>>>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章