成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Bang!這個Python處理時間的庫,我拆解了!

開發 后端
Python里面處理時間庫的有很多,其中大家經常用的有datetime。但是對于懶人來說還是很不爽,有么有更簡單的,可以把我們的需求比如的白話文本轉為字符串的時間庫呢,今天小編在GitHub找到了這個好玩的庫,一起來看一下。

 [[338438]]

Python里面處理時間庫的有很多,其中大家經常用的有datetime。但是對于懶人來說還是很不爽,有么有更簡單的,可以把我們的需求比如的白話文本轉為字符串的時間庫呢,今天小編在GitHub找到了這個好玩的庫,一起來看一下。

 

這個庫的目標就是通過簡單的字符串就可以操作datatime,算是在datatime上面再次做了一層封裝,有點意思啊,我們一起來一探究竟。

安裝一下:

pytime的安裝很簡單,直接用pip3 install pytime即可。

如何使用:

1).簡單的獲取當前的月,周,日的時間,以及上周,上月的時間

 

看一下輸出的結果:

today:2020-08-16

this week:(datetime.date(2020, 8, 10), datetime.date(2020, 8, 17))

last week:(datetime.date(2020, 8, 3), datetime.date(2020, 8, 11))

this_month:(datetime.date(2020, 8, 1), datetime.date(2020, 9, 1))

日期的范圍其實就是一個tuple類型的datatime起始-結束的日期范圍。

2).直接輸出節日日期

比如常見的圣誕節,情人節啊,新年,母親節,父親節之類的節日

 

拆解源碼

看起來是作者做了一層固定節日的封裝,我們來看一下源碼,一探究竟,看看源碼里面都封裝了那些節日:

 

源碼里面可以清晰的看到作者是如何構造的這個節日,其實就是進行了一些簡單的運算,但是代碼寫的還是非常工整的。

3).識別文本字符串-得到日期

這個動態的識別文本,然后計算時間,應該是這個庫最吸引人的地方,畢竟上面的日期,節假日其中你自己也可以封裝的。但是識別文本就有點意思了:

 

上面兩個函數,分別計算某一個日期前多少多少天,和某一個日期的后多少多少天,能自動的識別這一段字符串比如

2years 3mon 23week 3d 2hr

或者是沒有空格連在一起寫也可以

2years3mon23week3d2hr

拆解源碼:

非常給力,小編也非常好奇它是怎么做到的,于是我扒開了這段源碼看了一些:

 

原來before這個函數的接口有兩個參數,一個就是base,一個是diff,base把時間字符串轉為datetime類型,然后diff會用一個dp(diff)進行封裝,然后解析這個一長串的字符串,順藤摸瓜,我們一起來看一下這dp(diff)干了啥事情:

dp = BaseParser.parse_diff

dp其實是一個BaseParse這個解析器的一個接口函數,也就是說所以的字符串的解析都在這個parse_diff里面:

 

果然這個函數里面就是專門來處理我們輸入的"2years 3mon 23week 3d 2hr",作者做了很多封裝的處理,就是為了我們使用的時候更智能一些。

通過一層一層的拆解,你會發現整個作者在設計這個庫的思路和一些技巧點,這樣的過程經常練習,對你提高Python功力大有裨益,有興趣的小伙伴也可以試試這個庫,代碼動起來。

 

責任編輯:華軒 來源: 菜鳥學Python
相關推薦

2022-10-20 18:43:32

C語言golang安全

2014-08-22 13:27:59

物聯網

2019-12-26 09:15:44

網絡IOLinux

2017-05-31 14:25:14

戴爾數字經濟轉型

2021-11-26 07:02:37

數據庫

2022-08-05 13:03:09

Python依賴管理代碼

2020-08-31 16:36:36

Redis架構節點

2022-10-24 08:45:23

數據庫應用場景區塊鏈

2022-05-03 00:03:11

狀態管理前端開發

2020-08-11 10:40:31

裝飾者模式Java組件

2019-04-30 15:10:42

Python調試工具編程語言

2022-02-21 07:45:29

面向對象代碼依賴倒置

2017-11-07 13:24:38

Pythontime模塊datetime

2011-05-26 13:36:40

Oracle數據庫時間處理

2022-01-03 20:13:08

Gointerface 面試

2016-04-28 09:36:44

人才教育/華三

2022-11-12 17:36:51

Web前端開源

2024-04-15 16:17:29

Python代碼

2020-04-16 10:55:03

Java虛擬機字節碼

2020-07-20 07:48:53

單例模式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 狠狠影院 | 亚洲精品大片 | 久久精品国产一区二区电影 | 精品一区二区观看 | 亚洲国产一区二区三区在线观看 | 全部免费毛片在线播放网站 | 亚洲福利一区 | 免费观看黄 | 毛片一区二区三区 | 亚洲精品视频观看 | 黄色香蕉视频在线观看 | 97精品超碰一区二区三区 | 亚洲精品电影网在线观看 | 国产在线精品一区二区 | 亚洲一区二区三区在线视频 | 一本久久a久久精品亚洲 | 天天干成人网 | 日本久久黄色 | 亚洲精品久久久 | 色婷婷婷婷色 | 久久精品一区 | 丝袜美腿av | 超碰综合 | 国产精品美女一区二区 | 欧美三区视频 | 欧美黄色精品 | 91九色麻豆 | 成人在线小视频 | 国产成人午夜精品影院游乐网 | 欧美福利三区 | 色综合天天天天做夜夜夜夜做 | 亚洲精品观看 | 国产在线麻豆精品入口 | 久久精品亚洲国产奇米99 | 亚洲综合在线播放 | 日韩视频在线免费观看 | 亚洲一区二区三区在线观看免费 | 国产99久久精品 | 成人在线不卡 | 综合精品久久久 | 在线观看亚洲欧美 |