在寫Python的時候經常會遇到時間格式的問題,首先就是最近用到的時間戳(timestamp)和時間字串之間的轉換。所謂時間戳,就是從 1970年1月1日 00:00:00 到現在的秒數。原來我也寫過關於python3裡面如何進行時間轉換。
在Python裡,時間戳可以透過 time 模組裡的 time() 方法獲得,比如:
import time timestamp = time.time() print(timestamp)
輸出結果:
1551077515.952753
這個數可以這麼理解, 小數點前面的是從1970年1月1日 00:00:00 到現在的秒數, 小數點後面是微秒的計數。
這個時間戳不容易記憶和理解, 所以我們希望把它轉換成人容易理解的時間格式,時間戳轉換為指定格式的日期,常用到的模組是time和datetime。
方法1:使用time模組
import time timeStamp = 1551077515 timeArray = time.localtime(timeStamp) formatTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) print (formatTime)
結果:
2019-02-25 14:51:55
方法2:使用datetime模組
import datetime timeStamp = 1551077515 timeArray = datetime.datetime.utcfromtimestamp(timeStamp) formatTime = timeArray.strftime("%Y-%m-%d %H:%M:%S") print (formatTime)
結果:
2019-02-25 14:51:55
得到的結果是完全一樣的, 這裡time和datetime都可以把時間戳轉換為指定時間格式, 但是他們倆還是有區別的, 總體來講time比datetime更偏底層,我專門寫過一篇文章來介紹time和datetime的區別和聯絡。