python中當前時間以及時間戳的獲取(包括毫秒時間戳)
阿新 • • 發佈:2020-12-24
技術標籤:python
用到的模組:
import time
from datetime import datetime
獲取當前時間:
1. t1 = datetime.now()
得到的是 datetime.datetime 型別。
2. t2 = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
得到的是 str 型別,不想要的部分(例如毫秒)可以去掉。
時間格式間的轉換:
1. datetime.strftime('%Y-%m-%d %H:%M:%S.%f')
可以將 datetime.datetime 型別轉換為 str 型別。
2. datetime.strptime(t2, '%Y-%m-%d %H:%M:%S.%f')
可以將 str 型別轉換為 datetime.datetime 型別。 第一個引數為要轉換的時間,第二個引數為該時間的格式。
如果時間的格式填寫錯誤,則會報錯:
3. 更改 str 型別時間的顯示格式:
t1 = "2020-1-1 12:30:00"
timeArray = datetime.strptime(t, "%Y-%m-%d %H:%M:%S") # 首先轉換成 datetime.datetime 型別
t2 = t1. strftime("%Y/%m/%d %H:%M:%S", timeArray) # 然後再轉回 str 型別
str時間與時間戳的轉換:
1. str時間 轉 秒級時間戳:
t1 = "2020-1-1 12:30:00"
timeArray = datetime.strptime(t, "%Y-%m-%d %H:%M:%S") # 首先轉換成 datetime.datetime 型別
t2 = t1.strftime("%Y/%m/%d %H:%M:%S", timeArray) # 然後再轉回 str 型別
timeStamp = int(time.mktime(timeArray))
2. str時間 轉 毫秒級時間戳:
t1 = "2020-1-1 12:30:00.123" # 首先時間本身得是毫秒級的
timeArray = datetime.strptime(t, "%Y-%m-%d %H:%M:%S.%f") # 然後轉換成 datetime.datetime 型別
timeStamp = int(time.mktime(timeArray.timetuple()) * 1000.0 + timeArray.microsecond / 1000.0)
3. 時間戳 轉 str時間:
timeStamp = 1608712000
timeArray = time.localtime(timeStamp) # 或者datetime.fromtimestamp(timeStamp)
t = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) # 或者timeArray.strftime("%Y-%m-%d %H:%M:%S")