Python日期和時間戳的轉(zhuǎn)換的實(shí)現(xiàn)方式
Python 日期和時間戳的轉(zhuǎn)換
Python中處理時間的模塊
Python中處理時間的模塊有time、datetime和calendar。
在Python中表示時間的方式:
- 時間戳:10位整數(shù)位和若干小數(shù)位,例如 1551153156.6358607
- 元組(struct_time): 含有9個元素的元組,例如 (tm_year=2011, tm_mon=9, tm_mday=28, tm_hour=10, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=271, tm_isdst=-1)
- 格式化字符串: 格式化的時間字符串, 例如 ‘2019-02-26 12:45:46’
time模塊,以元組(struct_time)為核心實(shí)現(xiàn)時間戳和格式化時間字符串的相互轉(zhuǎn)換。
datetime模塊,以datetime類實(shí)例對象為核心實(shí)現(xiàn)時間戳和格式化時間字符串的相互轉(zhuǎn)換。
Python的time模塊
time模塊是通過調(diào)用C庫實(shí)現(xiàn)的,所以在有些平臺上無法使用。大部分接口和C標(biāo)準(zhǔn)庫的time.h一致。
使用time模塊來進(jìn)行格式化時間字符串和時間戳的相互轉(zhuǎn)換。
將時間戳轉(zhuǎn)換為格式化字符串
使用time模塊獲取當(dāng)前時間的時間戳:
>>> import time >>> time.time() 1551157481.034565
將時間戳轉(zhuǎn)換為元組(struct_time):
>>> time.localtime(time.time()) time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=13, tm_min=2, tm_sec=1, tm_wday=1, tm_yday=57, tm_isdst=0)
將元組(struct_time)轉(zhuǎn)換為格式化時間字符串:
>>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) '2019-02-26 13:04:41'
Python 的datetime模塊
和time模塊相比,datetime模塊提供更直接易用的接口,功能也更加強(qiáng)大。
datetime模塊提供了處理日期和時間的類,既有簡單的方式,也有復(fù)雜的方式。它雖然支持日期和時間算法,但其實(shí)現(xiàn)是重點(diǎn)是輸出的格式化操作和更加有效的屬性提取功能。
datetime模塊中定義的類(這些類的對象都是不可變的):
datetime.date: 表示日期,常用的屬性有year、month和day
datetime.time: 表示時間,常用的屬性有hour、minute、second和microsecond
datetime.datetime: 表示日期時間
datetime.timedelta: 表示兩個date、time和datetime實(shí)例之間的時間間隔,最小單位可達(dá)微秒
datetime.tzinfo: 時區(qū)相關(guān)對象的抽象基類,由time和datetime類使用
datetime.timezone: Python3.2中新增的功能,實(shí)現(xiàn)tzinfo抽象基類的類,表示與UTC的固定偏移量
使用datetime模塊中的datetime類將時間戳轉(zhuǎn)換為格式化時間字符串
使用datetime類將時間戳轉(zhuǎn)換為datetime實(shí)例:
>>> import time >>> from datetime import datetime >>> dt = datetime.fromtimestamp(time.time()) >>> dt datetime.datetime(2019, 2, 26, 15, 27, 28, 678923)
將datetime實(shí)例轉(zhuǎn)換為格式化字符串:
>>> dt.strftime('%Y-%m-%d %H:%M:%S') '2019-02-26 15:27:28'
使用datetime模塊中的datetime類將格式化時間字符串轉(zhuǎn)換為時間戳
使用datetime類將格式化字符串’2019-02-26 15:27:28’轉(zhuǎn)換為datetime實(shí)例:
>>> st = '2019-02-26 15:27:28' >>> dt = datetime.strptime(st, '%Y-%m-%d %H:%M:%S') >>> dt datetime.datetime(2019, 2, 26, 15, 27, 28)
將datetime實(shí)例轉(zhuǎn)轉(zhuǎn)為元組(struct_time):
>>> tp = dt.timetuple() >>> tp time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=15, tm_min=27, tm_sec=28, tm_wday=1, tm_yday=57, tm_isdst=-1)
將元組(struct_time)轉(zhuǎn)換為時間戳:
>>> time.mktime(tp) 1551166048.0
也可以直接使用datetime實(shí)例的timestamp()函數(shù)直接獲取時間戳:
>>> dt.timestamp() 1551166048.0
使用datetime類獲取當(dāng)前日期和時間
使用datetime類獲取當(dāng)前日期:
>>> datetime.now().date().strftime('%Y-%m-%d') '2019-02-26'
使用datetime類獲取當(dāng)前時間:
>>> datetime.now().time().strftime('%H:%M:%S') '15:48:43'
到此這篇關(guān)于Python日期和時間戳的轉(zhuǎn)換的實(shí)現(xiàn)方式的文章就介紹到這了,更多相關(guān)Python日期和時間戳轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python結(jié)合Window計劃任務(wù)監(jiān)測郵件的示例代碼
這篇文章主要介紹了Python結(jié)合Window計劃任務(wù)監(jiān)測郵件的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Python threading Local()函數(shù)用法案例詳解
這篇文章主要介紹了Python threading Local()函數(shù)用法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09python學(xué)習(xí)之hook鉤子的原理和使用
這篇文章主要為大家詳細(xì)介紹了python學(xué)習(xí)之hook鉤子的原理和使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-10-10Python 中 Virtualenv 和 pip 的簡單用法詳解
本篇文章主要介紹了Python 中 Virtualenv 和 pip 的簡單用法詳解,具有一定的參考價值,有興趣的可以了解一下2017-08-08科學(xué)Python開發(fā)環(huán)境Spyder必知必會點(diǎn)
這篇文章主要為大家介紹了科學(xué)Python開發(fā)環(huán)境Spyder必知必會點(diǎn)及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01pytorch:torch.mm()和torch.matmul()的使用
今天小編就為大家分享一篇pytorch:torch.mm()和torch.matmul()的使用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python內(nèi)置函數(shù)delattr的具體用法
本篇文章主要介紹了Python內(nèi)置函數(shù)delattr的具體用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11