摘要:最要命的是,在標(biāo)準(zhǔn)庫(kù)中居然有兩個(gè)模塊處理時(shí)間,一個(gè)叫,另外一個(gè)叫,里面提供了類似的方法但是兩個(gè)完全不是一回事。到這還沒(méi)完,標(biāo)準(zhǔn)庫(kù)里還有一個(gè)叫的模塊,也是用來(lái)處理時(shí)間的。今天的主角是一個(gè)優(yōu)雅到我不能放棄的時(shí)間處理庫(kù)。
緣起
很多時(shí)候我們不得不和時(shí)間打交道,但在Python標(biāo)準(zhǔn)庫(kù)中處理時(shí)間的模塊其實(shí)設(shè)計(jì)的不是很友好,為什么我會(huì)這么說(shuō)?因?yàn)槲蚁嘈糯蟛糠秩藥缀趺看卧谔幚頃r(shí)間數(shù)據(jù)時(shí)一而再,再而三的去查文檔,比如時(shí)間和文本格式互轉(zhuǎn),時(shí)間增減等看起來(lái)非?;镜牟僮?,在Python中處理起來(lái)并不簡(jiǎn)單。
最要命的是,在Python標(biāo)準(zhǔn)庫(kù)中居然有兩個(gè)模塊處理時(shí)間,一個(gè)叫time,另外一個(gè)叫datetime,里面提供了類似的方法但是兩個(gè)完全不是一回事。到這還沒(méi)完,標(biāo)準(zhǔn)庫(kù)里還有一個(gè)叫calendar的模塊,也是用來(lái)處理時(shí)間的。
今天我不帶大家去理解他們?nèi)叩年P(guān)系,因?yàn)楝F(xiàn)在你記住了不代表你以后不會(huì)忘記。今天的主角是一個(gè)優(yōu)雅到我不能放棄的時(shí)間處理庫(kù) - arrow。
簡(jiǎn)介arrow是一個(gè)專門(mén)處理時(shí)間和日期的輕量級(jí)Python庫(kù),它提供了一種合理、智能的方式來(lái)創(chuàng)建、操作、格式化、轉(zhuǎn)換時(shí)間和日期。
安裝pip install arrow使用
我們直接看代碼,注釋既分割線。
>>> import arrow # 獲取當(dāng)前時(shí)間 >>> utc = arrow.utcnow() >>> utc總結(jié)# 調(diào)整時(shí)間 >>> utc = utc.shift(days=+1, hours=-1) >>> utc # 修改時(shí)間 >>> utc.replace(hour=4, minute=40) # 轉(zhuǎn)換時(shí)區(qū) >>> local = utc.to("US/Pacific") >>> local # 從文本轉(zhuǎn)為時(shí)間對(duì)象 >>> arrow.get("2017-05-11T21:23:58.970460+00:00") >>> arrow.get(1367900664) >>> arrow.get("June was born in May 1980", "MMMM YYYY") # 獲取時(shí)間戳 >>> 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)庫(kù)對(duì)象 >>> a.date() datetime.date(2017, 5, 7) >>> a.time() datetime.time(4, 38, 15, 447644)
我沒(méi)有騙你吧?如果以后你的Python項(xiàng)目需要處理時(shí)間,請(qǐng)果斷拋棄標(biāo)準(zhǔn)庫(kù),arrow將拯救你無(wú)數(shù)腦細(xì)胞。
附上arrow官方文檔,更多酷炫用法還是前往官網(wǎng)。
http://arrow.readthedocs.io/e...
關(guān)于作者:Python技術(shù)愛(ài)好者,目前從事測(cè)試開(kāi)發(fā)相關(guān)工作,轉(zhuǎn)載請(qǐng)注明原文出處。
歡迎關(guān)注我的博客 https://betacat.online,你可以到我的公眾號(hào)中去當(dāng)吃瓜群眾。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/40921.html
Python裝飾器為什么難理解? 無(wú)論項(xiàng)目中還是面試都離不開(kāi)裝飾器話題,裝飾器的強(qiáng)大在于它能夠在不修改原有業(yè)務(wù)邏輯的情況下對(duì)代碼進(jìn)行擴(kuò)展,權(quán)限校驗(yàn)、用戶認(rèn)證、日志記錄、性能測(cè)試、事務(wù)處理、緩存等都是裝飾器的絕佳應(yīng)用場(chǎng)景,它能夠最大程度地對(duì)代碼進(jìn)行復(fù)用。 但為什么初學(xué)者對(duì)裝飾器的理解如此困難,我認(rèn)為本質(zhì)上是對(duì)Py… Python 實(shí)現(xiàn)車牌定位及分割 作者用 Python 實(shí)現(xiàn)車牌定位及分割的實(shí)踐。 ...
摘要:學(xué)習(xí)筆記七數(shù)學(xué)形態(tài)學(xué)關(guān)注的是圖像中的形狀,它提供了一些方法用于檢測(cè)形狀和改變形狀。學(xué)習(xí)筆記十一尺度不變特征變換,簡(jiǎn)稱是圖像局部特征提取的現(xiàn)代方法基于區(qū)域圖像塊的分析。本文的目的是簡(jiǎn)明扼要地說(shuō)明的編碼機(jī)制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開(kāi)始之前,我們先來(lái)看這樣一個(gè)提問(wèn): pyth...
摘要:上個(gè)月,學(xué)習(xí)群里的同學(xué)問(wèn)了個(gè)題目,大意可理解為列表降維,例子如下想得到結(jié)果原始數(shù)據(jù)是一個(gè)二維列表,目的是獲取該列表中所有元素的具體值。不經(jīng)意間,函數(shù)的注意事項(xiàng),竟把其它的進(jìn)階內(nèi)容都聯(lián)系起來(lái)了。小小的函數(shù),竟成為學(xué)習(xí)之路上的一個(gè)樞紐。 上個(gè)月,學(xué)習(xí)群里的 S 同學(xué)問(wèn)了個(gè)題目,大意可理解為列表降維 ,例子如下: oldlist = [[1, 2, 3], [4, 5]] # 想得到結(jié)果:...
閱讀 891·2023-04-25 20:18
閱讀 2183·2021-11-22 13:54
閱讀 2637·2021-09-26 09:55
閱讀 4022·2021-09-22 15:28
閱讀 3048·2021-09-03 10:34
閱讀 1790·2021-07-28 00:15
閱讀 1701·2019-08-30 14:25
閱讀 1396·2019-08-29 17:16