聊聊Python的time模組

2021-09-23 10:19:00 字數 2554 閱讀 1816

time模組是很多人最早接觸到的模組,像time.sleep(x)好像隨處可見,但是time模組裡面的其他方法呢?下面一起看一下time模組。

1.時間戳,包括time()等函式

2.格式化的時間字元  包括asctime()等函式

3.時間元組    包括localtime()等函式

分別舉例如下:

print(time.time())

>>> 1553149608.6831224

time得到的時間單位是秒,那麼這個秒是怎麼來的呢?這是從2023年1月1日0點0分0秒開始計時,一直到現在經歷的秒數(不信可以自己算一下)。為什麼是1970?這一年發生了很多大事,比如unix誕生了。

print(time.localtime())

>>> time.struct_time(tm_year=2019, tm_mon=3, tm_mday=21, tm_hour=14, tm_min=27, tm_sec=24, tm_wday=3, tm_yday=80, tm_isdst=0)

#從左到右依次是當前時間的年,月,日,時,分,秒,一周中第幾天,一年中第幾天,夏令時

print(time.localtime(time.time())) >>> time.struct_time(tm_year=2019, tm_mon=3, tm_mday=21, tm_hour=14, tm_min=27, tm_sec=24, tm_wday=3, tm_yday=80, tm_isdst=0)

這裡得到的是乙個元組,兩個print得到的結果是一樣的,說明localtime中有乙個預設引數,就是time.time(),你也可以吧time.time()拿到的時間(1553149608.6831224)當做引數,得到的結果也是一樣的。

print(time.gmtime())

>>> time.struct_time(tm_year=2019, tm_mon=3, tm_mday=21, tm_hour=6, tm_min=27, tm_sec=24, tm_wday=3, tm_yday=80, tm_isdst=0)

gmtime和localtime的用法是一樣的,結果似乎也一樣,但仔細一看發現tm_hour好像少8,這是為什麼呢?因為我所在的中國位於東8區,gmtime獲取的時間是零度經線的時間,沒記錯的話,應該是英國的格林尼治天文台所在的經度,也叫本初子午線嘛。

print(time.mktime(time.localtime()))

>>>1553150685.0

mktime可以把得到的元組轉化成時間戳。

print(time.asctime())

>>>thu mar 21 14:48:48 2019

print(type(time.asctime()))

>>>print(time.asctime(time.localtime()))

>>>thu mar 21 14:48:48 2019

asctime可以把時間元組轉化成乙個固定格式的字串,預設引數就是time.localtime拿到的元組。

print(time.ctime())

>>>thu mar 21 14:53:36 2019

print(time.ctime(time.time()))

>>>thu mar 21 14:53:36 2019

ctime和asctime拿到的結果一樣,但是引數是時間戳,預設就是time.time()

print(time.strftime('%y-%m-%d %h:%m:%s'))

>>>2019-03-21 15:00:50

print(time.strftime('%y-%m-%d %x'))

>>>2019-03-21 15:00:50

print(time.strptime('2019-03-21 14:57:45','%y-%m-%d %x'))

>>>time.struct_time(tm_year=2019, tm_mon=3, tm_mday=21, tm_hour=14, tm_min=57, tm_sec=45, tm_wday=3, tm_yday=80, tm_isdst=-1)

strftime可以按一定的規則,將時間元組轉化成格式化字串形式,如果沒有時間元組引數,就預設為localtime。前面兩個print結果是一樣的,就是說%x可以代替%h:%m:%s,這是一種簡寫。strptime和strftime作用是相反的,注意格式要和輸入的格式化字串一致,不然就會報錯了,format預設為:"%a %b %d %h:%m:%s %y"。

到這裡,上面三種時間的轉化關係已經出來了:

sleep就不用講了,就是執行緒推遲指定時長後執行,單位是秒,正常理解為等待就行,time模組基本就這些內容了。

python 日期模組 (time模組)

在python中與事件處理相關的模組有 time datetime calendar 這裡先講解time模組 1.time 模組的引入用import time 1 time.time 返回當前時間的時間戳 1970紀元後經過的浮點秒數 返回結果資料型別是float import time temp ...

Python常用模組 Time模組

time模組中時間表現的格式主要有三種 a timestamp時間戳,時間戳表示的是從1970年1月1日00 00 00開始按秒計算的偏移量 b struct time時間元組,共有九個元素組。c format time 格式化時間,已格式化的結構使時間更具可讀性。包括自定義格式和固定格式。2 主要...

python模組之time模組

time模組 和時間相關的功能模組。1,時間戳時間 時間戳時間 float顯示1970年到當前的秒數 print time.time 1515584512.4203668 2,格式化時間 格式化時間 格式化顯示當前時間,方便檢視 print time.strftime y m d h m s 201...