1. 程式人生 > 其它 >time模組初認識

time模組初認識

技術標籤:常用模組總結python

time模組初認識

剛接觸python一段時間裡,時間處理很經常使用,但對time模組的三種時間格式之間轉行一直很模糊,趁有空,總結一下用法,並分享給大家。## 標題

time模組為python自帶庫,不需要下載即可使用

  1. 時間的三種格式 時間戳、時間元祖、格式化時間;
  2. 時間三種格式轉換關係圖
    在這裡插入圖片描述
    話不多說,演示走起
  3. 時間戳 —》時間元祖—》格式化時間

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