time模組初認識
阿新 • • 發佈:2020-12-21
time模組初認識
剛接觸python一段時間裡,時間處理很經常使用,但對time模組的三種時間格式之間轉行一直很模糊,趁有空,總結一下用法,並分享給大家。## 標題
time模組為python自帶庫,不需要下載即可使用
- 時間的三種格式 時間戳、時間元祖、格式化時間;
- 時間三種格式轉換關係圖
話不多說,演示走起 - 時間戳 —》時間元祖—》格式化時間
1).獲取時間元祖
import time
print(time.time())
#執行結果
1608169881.446608
2).獲取時間元祖
a.直接獲取當前時間元祖
import time
print(time.localtime())
#執行結果
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=17, tm_hour=9, tm_min=51, tm_sec=21, tm_wday=3, tm_yday=352, tm_isdst=0)
b. 時間戳 —》時間元祖
import time
a = 1608169872.446608 #時間戳
print(time.localtime(a))
#執行結果
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=17, tm_hour=9, tm_min=51, tm_sec=12, tm_wday=3, tm_yday=352, tm_isdst=0)
3).格式化輸出時間:時間元祖—》格式化時間
import time
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
#執行結果
2020-12-17 09:51:21
4. 格式化時間 —》時間元祖—》時間戳
1).格式化時間 —》時間元祖
import time
a = "2020-12-17 09:51:21"
print(time.strptime(a, "%Y-%m-%d %H:%M:%S")) # 格式要要一致
#執行結果
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=17, tm_hour=9, tm_min=51, tm_sec=23, tm_wday=3, tm_yday=352, tm_isdst=-1)
2).時間元祖—》時間戳
import time
a = "2020-12-17 09:51:23"
b = time.strptime(a, "%Y-%m-%d %H:%M:%S")
print(time.mktime(b))
#執行結果
1608169883.0
下面分享一下我獲取格式化時間的方法
import time
def get_strftime(format='%Y-%m-%d %H:%M:%S', year=0, month=0, day=0, hour=0, minute=0, second=0):
"""
獲取格式化時間, 年月日時分秒為正數為往未來推算,負數為往過去推算
"""
now_stamp = time.time()
input_stamp = year*31536000 + month*108000 + day*86400 + hour*3600+minute*60 + second
actual_stamp = now_stamp + input_stamp
return time.strftime(format, time.localtime(actual_stamp))
if __name__ == '__main__':
print(get_strftime(year=2,month=1, day=3, hour=4, minute=5, second=6))
#執行結果
2022-12-21 21:05:20