91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Arrow時間庫

發布時間:2021-10-21 16:07:17 來源:億速云 閱讀:141 作者:iii 欄目:編程語言

這篇文章主要介紹“如何使用Arrow時間庫”,在日常操作中,相信很多人在如何使用Arrow時間庫問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用Arrow時間庫”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

DateParser 和 Dateutil

這是兩款比較友好的用于處理各種時間格式的第三方庫,它能將各種奇怪寫法的時間轉換成標準的時間格式,比如:

# -*- coding: utf-8 -*- # @Time : 2020-12-05 16:46 import time import dateparser from dateutil import parser  print(dateparser.parse("2020/11/7 5:01:08")) print(parser.parse("2020"))

碰到個需求

最近在做一些自動化文件導出的時候,由于有一些平臺有導出的數量限制,比如某某平臺如果所選時間是半年,然后累計數據量達到 50w,就會導出失敗。

對于這種情況就要做一下時間切分,比如可以分為按月,甚至按周來進行導出,也就是 rangeTime。

當在 Google 上搜索 Python time 或者 Datetime 切分時間的時候發現并沒有什么結果,然后就會想起有個更牛的處理時間的庫,也就是  Arrow 了。

很多的博客對 Arrow 的講解也都是一帶而過,貼出官方的例子,并沒有應用于實際的項目,所以更多 Arrow 的用法也就沒有提到。

如何使用Arrow時間庫

Arrow

和 DateParser 一樣,Arrow 底層也是用 datetime 封裝的,在特定的地方可以和 datetime 進行交互。

一些用法展示:

# -*- coding: utf-8 -*- # @Time : 2020-12-05 16:46 i = arrow.now()  # i.replace(day=1) 替換時間為 1 號 # i.shift(months=-1) 偏移量,往前推一個月 # i.format('YYYY-MM-DD') 轉換為你想要的時間格式  print(i.shift(days=-30).format('YYYY-MM-DD')) print(i.shift(months=-3).format('YYYY-MM-DD'))  # 配合使用,鏈式法則 print(i.replace(day=1).shift(months=-1).format('YYYY-MM-DD')) print(i.replace(day=1).shift(months=-1).format('YYYY-MM-DD HH:mm:ss'))

回到解決剛才的那個需求, Arrow 的時間區間屬性可以在一段時間中根據不同時間粒度來進行切分,來達到我們的需求。

# -*- coding: utf-8 -*- # @Time : 2020-12-05 16:46 import arrow   # 開始于當前時間,往前推 120 天 end = datetime.datetime.now() start = end + datetime.timedelta(days=-120)  # 獲取 120 內的時間范圍,以月劃分 def timeYmdRange(start=start,end=end):     tRange = []     for r in arrow.Arrow.span_range('months', start, end):         qTime = [i.format('YYYY-MM-DD') for i in r]         tRange.append(qTime)     return tRange  # 獲取 120 內的時間范圍,以周劃分 def timeWeekRange(start=start,end=end):     tRange = []     for r in arrow.Arrow.span_range('weeks', start, end):         qTime = [i.format('YYYY-MM-DD') for i in r]         tRange.append(qTime)     return tRange  # 自定義時間格式,按月劃分,結果為 202011  def timeMonthRange(start=start,end=end):     tRange = []     for r in arrow.Arrow.range('months', start, end):         qTime = r.format('YYYYMM')         tRange.append(qTime)     return tRange  for r in timeHmsRange(start, end):     print(','.join(r))  print(timeWeekRange())

到此,關于“如何使用Arrow時間庫”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双牌县| 缙云县| 安平县| 南平市| 吴堡县| 阿图什市| 遂昌县| 缙云县| 康保县| 平乡县| 嵩明县| 永平县| 仪征市| 卓尼县| 新建县| 浑源县| 菏泽市| 盐亭县| 鄂伦春自治旗| 九龙县| 武威市| 辽阳市| 铜梁县| 会理县| 仁怀市| 图木舒克市| 修武县| 龙川县| 洛宁县| 平度市| 金坛市| 凤城市| 寻甸| 黄大仙区| 白沙| 封丘县| 深州市| 阳山县| 根河市| 那曲县| 卢氏县|