學(xué)習(xí)Python中一些實(shí)用的庫(kù)
時(shí)間庫(kù)—arrow
使用背景
日期時(shí)間處理在實(shí)際應(yīng)用場(chǎng)景中無(wú)處不在,所以這也成了編程語(yǔ)言中必不可少的模塊,Python 也不例外。但是,你知道在Python中有多少個(gè)相關(guān)的模塊嗎?datetime、time、calendar、 dateutil、 pytz 等等。 你知道有多少種數(shù)據(jù)類(lèi)型嗎?date、time、datetime、tzinfo、timedelta 等等。
博主在一次需求中遇到需要統(tǒng)計(jì)近幾個(gè)月間的數(shù)據(jù),前端傳給我的是當(dāng)前的時(shí)間戳,要通過(guò)時(shí)間戳來(lái)往前推三個(gè)月,或者四個(gè)月,半年的時(shí)間,如果只能通過(guò)加減時(shí)間的話(huà)就會(huì)變得很麻煩,所以想到了使用python的時(shí)間庫(kù)----arrow
在介紹時(shí)間庫(kù)之前,我們來(lái)看一看python的各個(gè)時(shí)間格式間是如何轉(zhuǎn)換的

不管怎樣,你終究還是要熟練這些模塊和API操作的,記不住沒(méi)關(guān)系,至少你都要手動(dòng)敲幾遍,下次遇到時(shí)要能做到翻看文檔能快速定位到某個(gè)類(lèi)某個(gè)方法是做什么用、怎么用。
但今天我要強(qiáng)烈安利給你的這個(gè)時(shí)間日期庫(kù):Arrow。它的靈感來(lái)自于 requests 庫(kù)。將所有繁雜的東西全部隱藏于身后,留給你的是 for humans 接口。充分詮釋了 keep it simple and stupid 這句話(huà)的含義。
安裝arrow
pip install arrow
arrow使用
獲取當(dāng)前時(shí)間

獲取不同時(shí)間格式
游標(biāo)卡尺shift
這個(gè)是arrow中我認(rèn)為最好用的一個(gè)屬性,他可以讓你隨便將時(shí)間進(jìn)行向前或者向后的推移,基本可以滿(mǎn)足你所有關(guān)于時(shí)間上推算的操作,抓緊用起來(lái)吧
向后推算時(shí)間

向前推算時(shí)間

humanize
humanize 方法是相對(duì)于當(dāng)前時(shí)刻表示為“多久以前”的一種可讀行字符串形式,默認(rèn)是英文格式,指定 locale 可顯示相應(yīng)的語(yǔ)言格式。

format
獲取arrow對(duì)象
get方法是最好用的獲取arrow對(duì)象的方式
# 不帶參數(shù),等價(jià)與 utcnow()
>>> arrow.get()
<Arrow [2018-08-24T07:11:50.528742+00:00]>
# 接受時(shí)間戳參數(shù)
>>> arrow.get(1535113845)
# 接受一個(gè)datetime對(duì)象
>>> arrow.get(datetime(2018,8,24))
<Arrow [2018-08-24T00:00:00+00:00]>
# 接收一個(gè)date對(duì)象
>>> from datetime import date
>>> arrow.get(date(2018,7,24))
<Arrow [2018-07-24T00:00:00+00:00]>
# 接收日期格式的字符串
>>> arrow.get("2018-08-11 12:30:56")
<Arrow [2018-08-11T12:30:56+00:00]>
# 接收日期字符串,并指定格式
>>> arrow.get("18-08-11 12:30:56", "YY-MM-DD HH:mm:ss")
<Arrow [2018-08-11T12:30:56+00:00]>
python的arrow庫(kù)的使用暫時(shí)介紹到這里,下篇介紹python處理數(shù)據(jù)的pandas庫(kù),讓你能夠輕松的處理python中復(fù)雜而海量的數(shù)據(jù),希望大家以后多多支持腳本之家!
相關(guān)文章
請(qǐng)不要重復(fù)犯我在學(xué)習(xí)Python和Linux系統(tǒng)上的錯(cuò)誤
本人已經(jīng)在運(yùn)維行業(yè)工作了將近十年,我最早接觸Linux是在大二的樣子,那時(shí)候只追求易懂,所以就選擇了Ubuntu作為學(xué)習(xí)、使用的對(duì)象,它簡(jiǎn)單、易用、好操作、界面絢麗,對(duì)于想接觸Linux的新手來(lái)說(shuō)是非常不錯(cuò)的2016-12-12
Python?torch.onnx.export用法詳細(xì)介紹
這篇文章主要給大家介紹了關(guān)于Python?torch.onnx.export用法詳細(xì)介紹的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-07-07
Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的畢業(yè)生信息管理系統(tǒng)的示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的畢業(yè)生信息管理系統(tǒng)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
淺談python下含中文字符串正則表達(dá)式的編碼問(wèn)題
今天小編就為大家分享一篇淺談python下含中文字符串正則表達(dá)式的編碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Python pandas的describe函數(shù)參數(shù)示例詳解
describe()函數(shù)是pandas 中一個(gè)十分實(shí)用的工具,用于快速獲取數(shù)據(jù)集的描述性統(tǒng)計(jì)信息,本文詳細(xì)介紹了該函數(shù)的各種參數(shù)及其用法,包括控制輸出的百分位數(shù)、列類(lèi)型以及是否將日期時(shí)間列視為數(shù)值型列等,感興趣的朋友一起看看吧2018-04-04
Python使用metaclass實(shí)現(xiàn)Singleton模式的方法
這篇文章主要介紹了Python使用metaclass實(shí)現(xiàn)Singleton模式的方法,實(shí)例分析了Python基于metaclass實(shí)現(xiàn)單例模式的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-05-05
web.py在SAE中的Session問(wèn)題解決方法(使用mysql存儲(chǔ))
這篇文章主要介紹了web.py在SAE中的Session問(wèn)題解決方法(使用mysql存儲(chǔ)),本文直接給出實(shí)現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下2015-06-06

