首頁 > 軟體

Python time三種時間轉換小結

2022-03-24 16:00:34

複習回顧

我們已經對Python內建模組-time中知道時間格式目前有三種。

  • 時間戳
  • 結構化時間
  • 字串時間

本期,我們將繼續深入對time模組中所涉及的三種時間進行學習,Let's go~

1. time模組原始碼描述

我們通過import time匯入time後,可以通過長按CTRL鍵後檢視到time.pyi檔案
檢視time.pyi檔案,我們會得知如下資訊

time模組中屬性的型別,時間都是int

列出方法頭部名稱和返回值資訊,可以通過左側星號跳轉檢視具體的方法詳情

2. time模組核心物件

time 模組通過系統底層的計時器獲取秒數(型別為整型或者浮點型),我們常說的POSIX時間戳。
time 模組中只有一個類:time.struct_time。型別為元組

struct_time 將時間戳轉換成結構化時間物件,時間相關的屬性存入到nametuple元組裡。
同時也可以呼叫gmtime,localtime,strptime方法來得到結果化時間物件。

3. 時間戳與結構化時間轉換

時間戳轉換成結構化時間

使用time.localtime([sec])轉換成一個本地時區的struct_time物件。如果sec為空,則使用time.time()得到的返回值

local = time.localtime(1635566119)
print("local時間戳轉換成結構化時間:",local)

使用time.gmtime([sec]) 轉換成一個UTC區的struct_time物件。如果sec為空,則使用time.time()得到的返回值

now = time.time()

gmt = time.gmtime(now)

print("utc時間戳轉換成結構化時間:",gmt)

結構化時間轉換成時間戳

使用time.mktime(t)將一個結構化物件轉換成秒數

mk = time.mktime(time.localtime())
print(mk)

4. 字串時間與結構化時間轉換

字串時間轉換成結構化時間

使用time.strptime(string[,format]) 將一個字串按照指定的fromat編碼解析為結構化時間,format預設值為"%a %b %d %H:%M:%S %Y"

str = time.strptime("2021-10-29 21:07:24","%Y-%m-%d %H:%M:%S")
print(str)

結構化時間轉換成字串

使用time.strftime(fromat,[,t]) 將結構化時間物件按照指定fromat編碼格式化為字串,t 預設為 time.localtime()的返回值

strf = time.strftime("%Y-%m-%d %H:%M:%S")
print(strf)

總結

本期,主要對Time模組中三種形式的時間格式進行梳理和總結。time模組核心物件是struct_time,通過它可以對時間進行不同形式的轉換。

到此這篇關於Python time三種時間轉換小結的文章就介紹到這了,更多相關Python time時間轉換內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com