python日期與時(shí)間戳的各種轉(zhuǎn)換示例
官方文檔的示例中沒有我們習(xí)慣的日期格式,查了很多博客轉(zhuǎn)換日期和時(shí)間戳也都是大概的能得到結(jié)果的方式,常將 datetime 和 time 兩個(gè)模塊混用,個(gè)人覺得時(shí)間格式化不應(yīng)該這么麻煩,還得用兩個(gè)模塊來支持?故而翻遍了源碼,總結(jié)以下常用的幾種日期和時(shí)間戳的轉(zhuǎn)換方式。
以下主要有三個(gè)元素(時(shí)間字符串,格式,Unix時(shí)間戳),可將時(shí)間字符串轉(zhuǎn)為另一種時(shí)間格式,或?qū)r(shí)間字符串轉(zhuǎn)為時(shí)間戳,或?qū)r(shí)間戳轉(zhuǎn)為時(shí)間字符串。
datetime 和 time 兩個(gè)模塊,任意一個(gè)都能轉(zhuǎn)換完成。
以下兩個(gè)模塊均列出示例:
# coding: utf-8 from datetime import datetime import time s = '2019-06-07 16:30:10' f = '%Y-%m-%d %H:%M:%S' s2 = 'Fri Jun 7 16:30:10 2019' f2 = '%c' // 時(shí)間字符串轉(zhuǎn)時(shí)間戳, 時(shí)間字串 s和format 對(duì)應(yīng) // int(t) 轉(zhuǎn)為整型 t = datetime.strptime(s, f).timestamp() # 1559856210.0 t2 = time.mktime(time.strptime(s, f)) # 1559856210.0 t3 = time.mktime(time.strptime(s2, f2)) # 1559856210.0 t4 = datetime.strptime(s2, f2).timestamp() # 1559856210.0 t5 = datetime.strptime('2019-06-07', '%Y-%m-%d').timestamp() # 1559836800.0 t6 = datetime.strptime('06/07/19', '%x').timestamp() # 1559836800.0 (06/07/2019, '%m/%d/%Y') print(t, t2, t3, t4, t5, t6, "\n") ut = 1559896210 # 時(shí)間戳轉(zhuǎn)為時(shí)間字符串 d = datetime.fromtimestamp(ut) # 2019-06-07 16:30:10 d2 = time.strftime(f, time.localtime(ut)) # 2019-06-07 16:30:10 d3 = time.ctime(ut) # Fri Jun 7 16:30:10 2019 d4 = datetime.fromtimestamp(ut).ctime() # Fri Jun 7 16:30:10 2019 d5 = time.strftime('%Y-%m-%d', time.localtime(ut)) # 2019-06-07 (05:23:30, %H:%M:%S) d6 = datetime.fromtimestamp(ut).date() # 2019-06-07 d7 = datetime.fromtimestamp(ut).time() # 16:30:10 d8 = time.strftime('%x', time.localtime(ut)) # 06/07/19 d9 = time.strftime('%X', time.localtime(ut)) # 16:30:10 dd = datetime.fromtimestamp(ut).strftime('%x') # 06/07/19 [(16:30:10, %X), (Fri Jun 7 16:30:10 2019, %c)] print(d, d2, d3, d4, d5, d6, d7, d8, d9, dd, "\n") # 格式轉(zhuǎn)換 # 將 2019-06-07 16:30:10 轉(zhuǎn)為 Fri Jun 7 16:30:10 2019 # (16:30:10, %X) transf = datetime.strptime(s, f).strftime(f2) # 將 Fri Jun 7 16:30:10 2019 轉(zhuǎn)為 2019-06-07 # (2019-06-07 16:30:10, %Y-%m-%d %H:%M:%S) transf2 = datetime.strptime(s2, f2).strftime('%Y-%m-%d') # 將 2019-06-07 16:30:10 轉(zhuǎn)為 Fri Jun 7 16:30:10 2019 # (2019-06-07 16:30:10, %Y-%m-%d %H:%M:%S) transf3 = time.strftime('%c', time.strptime(s, f)) # 將 Fri Jun 7 16:30:10 2019 轉(zhuǎn)為 2019-06-07 16:30:10 transf4 = time.strftime(f, time.strptime(s2, f2)) print(transf, transf2, transf3, transf4)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python獲取秒級(jí)時(shí)間戳與毫秒級(jí)時(shí)間戳的示例代碼
- Python時(shí)間戳轉(zhuǎn)換為字符串與字符串轉(zhuǎn)換為時(shí)間戳
- Python 轉(zhuǎn)換時(shí)間戳為指定格式日期
- python3 中時(shí)間戳、時(shí)間、日期的轉(zhuǎn)換和加減操作
- python時(shí)間與Unix時(shí)間戳相互轉(zhuǎn)換方法詳解
- Python Pandas 轉(zhuǎn)換unix時(shí)間戳方式
- python utc datetime轉(zhuǎn)換為時(shí)間戳的方法
- python unix時(shí)間戳轉(zhuǎn)換毫秒的實(shí)現(xiàn)
相關(guān)文章
Python 排序最長(zhǎng)英文單詞鏈(列表中前一個(gè)單詞末字母是下一個(gè)單詞的首字母)
這篇文章主要介紹了Python 排序最長(zhǎng)英文單詞鏈(列表中前一個(gè)單詞末字母是下一個(gè)單詞的首字母),列表中每個(gè)元素相當(dāng)于一個(gè)單詞,要實(shí)現(xiàn)列表中前一個(gè)單詞末字母是下一個(gè)單詞的首字母,并且這個(gè)鏈?zhǔn)亲铋L(zhǎng)的。感興趣的可以了解一下2020-12-12Python配置pip國內(nèi)鏡像源的實(shí)現(xiàn)
這篇文章主要介紹了Python配置pip國內(nèi)鏡像源的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Python?類中定義多個(gè)構(gòu)造器方法重載與泛方法
這篇文章主要為大家介紹了Python?類中定義多個(gè)構(gòu)造器方法重載與泛方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03python發(fā)送郵件示例(支持中文郵件標(biāo)題)
python發(fā)送中文郵件示例,支持中文郵件標(biāo)題和中文郵件內(nèi)容。支持多附件。根據(jù)用戶名推測(cè)郵件服務(wù)器提供商2014-02-02pandas中對(duì)文本類型數(shù)據(jù)的處理小結(jié)
這篇文章主要介紹了pandas中對(duì)于文本類型數(shù)據(jù)的處理匯總,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11使用Python去除小數(shù)點(diǎn)后面多余的0問題
這篇文章主要介紹了使用Python去除小數(shù)點(diǎn)后面多余的0問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Python?中的對(duì)象析構(gòu)函數(shù)__del__?詳情
這篇文章主要介紹了Python?中的對(duì)象析構(gòu)函數(shù)del詳情,Python?中的類的構(gòu)造函數(shù)???__init__???,?每當(dāng)實(shí)例產(chǎn)生就會(huì)調(diào)用這個(gè)構(gòu)造函下面更多相關(guān)內(nèi)容,需要的小伙伴可以參考一下2022-03-03