關於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)
>>>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章