概述
日期和時(shí)間的相互轉(zhuǎn)換可以利用Python內(nèi)置模塊time
和datetime
完成,且有多種方法供我們選擇妇押,當(dāng)然轉(zhuǎn)換時(shí)我們可以直接利用當(dāng)前時(shí)間或指定的字符串格式的時(shí)間格式蕴坪。
獲取當(dāng)前時(shí)間轉(zhuǎn)換
我們可以利用內(nèi)置模塊datetime
獲取當(dāng)前時(shí)間聚假,然后將其轉(zhuǎn)換為對應(yīng)的時(shí)間戳。
import datetime
import time
# 獲取當(dāng)前時(shí)間
dtime = datetime.datetime.now()
un_time = time.mktime(dtime.timetuple())
print(un_time)
# 將unix時(shí)間戳轉(zhuǎn)換為“當(dāng)前時(shí)間”格式
times = datetime.datetime.fromtimestamp(un_time)
print(times)
轉(zhuǎn)換結(jié)果:
1559568302.0
2019-06-03 21:25:02
字符串時(shí)間的轉(zhuǎn)換
當(dāng)然我們也可以直接將字符串類型的時(shí)間對應(yīng)的時(shí)間戳机蔗。
import datetime
import time
# 字符類型的時(shí)間
tss1 = '2019-06-03 21:19:03'
# 轉(zhuǎn)為時(shí)間數(shù)組
timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
print(timeArray)
# timeArray可以調(diào)用tm_year等
print(timeArray.tm_year) # 2019
# 轉(zhuǎn)為時(shí)間戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp) # 1559567943
示例結(jié)果:
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=3, tm_hour=21, tm_min=19, tm_sec=3, tm_wday=0, tm_yday=154, tm_isdst=-1)
2019
1559567943
時(shí)間戳轉(zhuǎn)日期的其他方法
localtime
我們可以利用localtime()轉(zhuǎn)換為時(shí)間數(shù)組,然后格式化為需要的格式
import time
timeStamp = 1559567943
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)
示例結(jié)果:
2019-06-03 21:19:03
utcfromtimestamp
import time
import datetime
timeStamp = 1559567943
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)