工作當中經常會遇到時間或者日期的計算和格式轉換,因此時間模塊就顯得非常重要,Python內置提供了 time和 datetime和 calendar模塊用來格式化日期和時間.
time模塊
Python中時間可以概括為三種類型:
float浮點數,即時間戳struct tuple 時間元組str字符串,規定格式表示
時間戳介紹
每個時間戳都以自從1970年1月1日午夜(曆元)到當前經過了多長時間來表示,時間間隔是以秒為單位的浮點小數.
實例
import timeprint('本地時間戳: ', time.time()) # 本地時間戳: 1562584408.3060238
時間戳單位最適於做日期運算,但是1970年之前的日期就無法以此表示了.太遙遠的日期也不行,
UNIX和 Windows只支持到2038年.
時間元組格式
具體實例
import time# 時間元組格式print('本地時間為: ', time.localtime(time.time()))
輸出結果:
本地時間為: time.struct_time(tm_year=2019, tm_mon=7, tm_mday=8, tm_hour=19, tm_min=28, tm_sec=28, tm_wday=0, tm_yday=189, tm_isdst=0)
2種時間字符串格式
第一種
2019-07-08 19:32:07 # 正常格式
第二種
Mon Jul d 19:32:2019 # 英文格式
幾種時間格式的轉換
時間戳轉時間元組
import time# 第一種: 結果是UTC時間ret1 = time.gmtime()# 第二種: 結果是本地時間(UTC+8)ret2 = time.localtime()print(ret1)print(ret2)
輸出結果
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=8, tm_hour=11, tm_min=44, tm_sec=46, tm_wday=0, tm_yday=189, tm_isdst=0)time.struct_time(tm_year=2019, tm_mon=7, tm_mday=8, tm_hour=19, tm_min=44, tm_sec=46, tm_wday=0, tm_yday=189, tm_isdst=0)
時間元組轉時間戳
import time# 1.獲取當前時間元組格式struct_time = time.localtime()# 2.轉時間戳print(time.mktime(struct_time))
輸出格式
1562586423.0
時間元組轉字符串(format_time)
import time# 1. 獲取時間元組struct_time = time.localtime()# 2. 轉換字符串格式print(time.strftime('%Y-%m-%d %H:%M:%S', struct_time))print(time.strftime('%a %b %d %H:%M:%Y', struct_time))print(time.asctime(struct_time))
輸出
2019-07-08 19:52:21Mon Jul 08 19:52:2019Mon Jul 8 19:52:21 2019
時間字符串轉換為時間戳
import timet = '2019-07-08 19:52:21'# 1. 轉時間元組struct_time = time.strptime(t, '%Y-%m-%d %H:%M:%S')# 2. 轉時間戳print(time.mktime(struct_time))
輸出
1562586741.0