Python如何將字符串轉(zhuǎn)換為日期
問題
你的應(yīng)用程序接受字符串格式的輸入,但是你想將它們轉(zhuǎn)換為 datetime 對(duì)象以便在上面執(zhí)行非字符串操作。
解決方案
使用Python的標(biāo)準(zhǔn)模塊 datetime 可以很容易的解決這個(gè)問題。比如:
>>> from datetime import datetime >>> text = '2012-09-20' >>> y = datetime.strptime(text, '%Y-%m-%d') >>> z = datetime.now() >>> diff = z - y >>> diff datetime.timedelta(3, 77824, 177393) >>>
討論
datetime.strptime() 方法支持很多的格式化代碼, 比如 %Y 代表4位數(shù)年份, %m 代表兩位數(shù)月份。 還有一點(diǎn)值得注意的是這些格式化占位符也可以反過來使用,將日期輸出為指定的格式字符串形式。
比如,假設(shè)你的代碼中生成了一個(gè) datetime 對(duì)象, 你想將它格式化為漂亮易讀形式后放在自動(dòng)生成的信件或者報(bào)告的頂部:
>>> z datetime.datetime(2012, 9, 23, 21, 37, 4, 177393) >>> nice_z = datetime.strftime(z, '%A %B %d, %Y') >>> nice_z 'Sunday September 23, 2012' >>>
還有一點(diǎn)需要注意的是, strptime() 的性能要比你想象中的差很多, 因?yàn)樗鞘褂眉働ython實(shí)現(xiàn),并且必須處理所有的系統(tǒng)本地設(shè)置。 如果你要在代碼中需要解析大量的日期并且已經(jīng)知道了日期字符串的確切格式,可以自己實(shí)現(xiàn)一套解析方案來獲取更好的性能。 比如,如果你已經(jīng)知道所以日期格式是 YYYY-MM-DD ,你可以像下面這樣實(shí)現(xiàn)一個(gè)解析函數(shù):
from datetime import datetime
def parse_ymd(s):
year_s, mon_s, day_s = s.split('-')
return datetime(int(year_s), int(mon_s), int(day_s))
實(shí)際測(cè)試中,這個(gè)函數(shù)比 datetime.strptime() 快7倍多。 如果你要處理大量的涉及到日期的數(shù)據(jù)的話,那么最好考慮下這個(gè)方案!
以上就是Python如何將字符串轉(zhuǎn)換為日期的詳細(xì)內(nèi)容,更多關(guān)于Python字符串轉(zhuǎn)換為日期的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python實(shí)現(xiàn)日期字符串轉(zhuǎn)換為指定格式的日期
- Python?Pandas實(shí)現(xiàn)將字符串格式轉(zhuǎn)為日期時(shí)間格式
- 教你怎么用python實(shí)現(xiàn)字符串轉(zhuǎn)日期
- Python日期格式和字符串格式相互轉(zhuǎn)換的方法
- python 正則表達(dá)式獲取字符串中所有的日期和時(shí)間
- Python日期時(shí)間對(duì)象轉(zhuǎn)換為字符串的實(shí)例
- python實(shí)現(xiàn)字符串和日期相互轉(zhuǎn)換的方法
- Python實(shí)現(xiàn)字符串轉(zhuǎn)日期的實(shí)踐指南
相關(guān)文章
keras使用Sequence類調(diào)用大規(guī)模數(shù)據(jù)集進(jìn)行訓(xùn)練的實(shí)現(xiàn)
這篇文章主要介紹了keras使用Sequence類調(diào)用大規(guī)模數(shù)據(jù)集進(jìn)行訓(xùn)練的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python調(diào)用matlab的m自定義函數(shù)方法
今天小編就為大家分享一篇python調(diào)用matlab的m自定義函數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02
Python爬蟲使用Selenium+PhantomJS抓取Ajax和動(dòng)態(tài)HTML內(nèi)容
這篇文章主要介紹了Python爬蟲使用Selenium+PhantomJS抓取Ajax和動(dòng)態(tài)HTML內(nèi)容,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
淺談Scrapy框架普通反爬蟲機(jī)制的應(yīng)對(duì)策略
這篇文章主要介紹了淺談Scrapy框架普通反爬蟲機(jī)制的應(yīng)對(duì)策略,具有一定借鑒價(jià)值,需要的朋友可以參考下2017-12-12
python word轉(zhuǎn)pdf代碼實(shí)例
這篇文章主要介紹了python word轉(zhuǎn)pdf代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python中threading模塊的Lock和RLock區(qū)別詳解
這篇文章主要介紹了Python中threading模塊的Lock和RLock區(qū)別詳解,Lock鎖是Python的原始鎖,在鎖定時(shí)不屬于任何一個(gè)線程,在調(diào)用了 lock.acquire() 方法后,進(jìn)入鎖定狀態(tài),lock.release()方法可以解鎖,底層是通過一個(gè)函數(shù)來實(shí)現(xiàn)的,需要的朋友可以參考下2023-09-09
Python實(shí)現(xiàn)自動(dòng)識(shí)別并填加驗(yàn)證碼的示例代碼
實(shí)現(xiàn)自動(dòng)識(shí)別網(wǎng)頁中的驗(yàn)證碼并填寫,需要結(jié)合使用網(wǎng)絡(luò)爬蟲技術(shù)、圖像識(shí)別(OCR),以及可能的瀏覽器自動(dòng)化工具(如Selenium),本文給大家介紹了Python實(shí)現(xiàn)自動(dòng)識(shí)別并填加驗(yàn)證碼的示例,需要的朋友可以參考下2024-06-06

