Python使用arrow庫優(yōu)雅地處理時間數(shù)據(jù)詳解
前言
大家應(yīng)該都知道在很多時候我們不得不和時間打交道,但在Python標(biāo)準(zhǔn)庫中處理時間的模塊其實設(shè)計的不是很友好,為什么我會這么說?因為我相信大部分人幾乎每次在處理時間數(shù)據(jù)時一而再,再而三的去查文檔,比如時間和文本格式互轉(zhuǎn),時間增減等看起來非?;镜牟僮?,在Python中處理起來并不簡單。
最要命的是,在Python標(biāo)準(zhǔn)庫中居然有兩個模塊處理時間,一個叫time,另外一個叫datetime,里面提供了類似的方法但是兩個完全不是一回事。到這還沒完,標(biāo)準(zhǔn)庫里還有一個叫calendar的模塊,也是用來處理時間的。
今天我不帶大家去理解他們?nèi)叩年P(guān)系,因為現(xiàn)在你記住了不代表你以后不會忘記。今天的主角是一個優(yōu)雅到我不能放棄的時間處理庫 - arrow。
簡介
arrow是一個專門處理時間和日期的輕量級Python庫,它提供了一種合理、智能的方式來創(chuàng)建、操作、格式化、轉(zhuǎn)換時間和日期。
安裝
pip install arrow
使用
我們直接看代碼,注釋既分割線。
>>> import arrow
# 獲取當(dāng)前時間
>>> utc = arrow.utcnow()
>>> utc
<Arrow [2017-05-11T21:23:58.970460+00:00]>
# 調(diào)整時間
>>> utc = utc.shift(days=+1, hours=-1)
>>> utc
<Arrow [2017-05-12T20:23:58.970460+00:00]>
# 修改時間
>>> utc.replace(hour=4, minute=40)
<Arrow [2017-05-12T04:40:58.970460+00:00]>
# 轉(zhuǎn)換時區(qū)
>>> local = utc.to('US/Pacific')
>>> local
<Arrow [2017-05-11T13:23:58.970460-07:00]>
# 從文本轉(zhuǎn)為時間對象
>>> arrow.get('2017-05-11T21:23:58.970460+00:00')
<Arrow [2017-05-11T21:23:58.970460+00:00]>
>>> arrow.get(1367900664)
<Arrow [2017-05-07T04:24:24+00:00]>
>>> arrow.get('June was born in May 1980', 'MMMM YYYY')
<Arrow [1980-05-01T00:00:00+00:00]>
# 獲取時間戳
>>> local.timestamp
1368303838
# 格式化輸出
>>> local.format()
'2017-05-11 13:23:58 -07:00'
>>> local.format('YYYY-MM-DD HH:mm:ss')
'2017-05-11 13:23:58'
>>> local.humanize()
'an hour ago'
# 轉(zhuǎn)為標(biāo)準(zhǔn)庫對象
>>> a.date()
datetime.date(2017, 5, 7)
>>> a.time()
datetime.time(4, 38, 15, 447644)
總結(jié)
我沒有騙你吧?如果以后你的Python項目需要處理時間,請果斷拋棄標(biāo)準(zhǔn)庫,arrow將拯救你無數(shù)腦細(xì)胞。
好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
附上arrow官方文檔,更多酷炫用法還是前往官網(wǎng)。
相關(guān)文章
Python+moviepy實現(xiàn)音頻/視頻提取器
這篇文章主要為大家詳細(xì)介紹了如何使用Python和wxPython構(gòu)建的音頻/視頻提取器應(yīng)用程序,允許用戶從視頻文件中提取音頻,或者從音頻文件中截取特定時間段,需要的可以參考下2024-10-10
python redis 批量設(shè)置過期key過程解析
這篇文章主要介紹了python redis 批量設(shè)置過期key過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11
python神經(jīng)網(wǎng)絡(luò)Xception模型復(fù)現(xiàn)詳解
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Xception模型復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Python學(xué)習(xí)筆記之文件的讀寫操作實例分析
這篇文章主要介紹了Python學(xué)習(xí)筆記之文件的讀寫操作,結(jié)合實例形式詳細(xì)分析了Python常見的文件讀寫操作實現(xiàn)技巧及相關(guān)注意事項,需要的朋友可以參考下2019-08-08
一文教你將Visual Studio Code變成Python開發(fā)神器
Visual Studio Code 是一款功能強(qiáng)大、可擴(kuò)展且輕量級的代碼編輯器,經(jīng)過多年的發(fā)展,已經(jīng)成為 Python 社區(qū)的首選代碼編輯器之一。本文將為大家介紹一下如何將Visual Studio Code變成Python開發(fā)神器,需要的可以參考一下2022-07-07
python中pandas庫中DataFrame對行和列的操作使用方法示例
這篇文章主要介紹了python中pandas庫中DataFrame對行和列的操作使用方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Python實現(xiàn)Canny及Hough算法代碼實例解析
這篇文章主要介紹了Python實現(xiàn)Canny與Hough算法代碼實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
python報錯: ''list'' object has no attribute ''shape''的解決
這篇文章主要介紹了python報錯: 'list' object has no attribute 'shape'的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07

