Python對下週幾本週幾等進行中文日期解析

2021-10-07 02:31:40 字數 3906 閱讀 4883

對下週幾本週幾等進行日期對映

利用python日期時間處理庫dateutil和硬編碼,**粗暴,效果有待檢驗

time.txt

今天

明天後天

大後天大大後天

早上中午

晚上傍晚

今日第一天

明日第二天

兩天後第三天

兩天後第三天

三天後第四天

四天後第五天

周一周二

週三周四

周五週六

週日周天

本周一本周二

本週三本周四

本周五本週六

本週日本周天

下周一下周二

下週三下周四

下周五下週六

下週日下周天

下星期一

下星期二

下星期三

下星期四

下星期五

下星期六

下星期日

下星期天

周1周2

周3周4

周5周6

周7

from datetime import date

from dateutil.relativedelta import relativedelta

defparseweekday

(x:str)-

>

int:

'''解析中文的週幾'''

today = date.today(

)if x in

['今天'

,'今日'

,'第一天']:

return today

if x in

['明天'

,'明日'

,'第二天'

,'一天後']:

return today + relativedelta(days=+1

)if x in

['後天'

,'後日'

,'第三天'

,'二天後'

,'兩天後']:

return today + relativedelta(days=+2

)if x in

['大後天'

,'大後日'

,'第四天'

,'三天後']:

return today + relativedelta(days=+3

)if x in

['大大後天'

,'大大後日'

,'第五天'

,'四天後']:

return today + relativedelta(days=+4

)if x in

['大大大後天'

,'大大大後日'

,'第六天'

,'五天後']:

return today + relativedelta(days=+5

) time =

weeks =

none

if x.startswith(

'上')

or x.startswith(

'前')

: weeks =-1

if x.startswith(

'下')

or x.startswith(

'後')

or x.startswith(

'明')

: weeks =

0 count =

0for k, v in time.items():

for i in v:

if i in x:

count +=

1 weekday = k

if count !=1:

return today

elif weeks ==

0or weeks ==-1

:return today + relativedelta(weekday=weekday -

1, weeks=weeks)

else

:if today.isoweekday(

)>= weekday:

return today + relativedelta(days=+1

, weekday=weekday -

1, weeks=-1

)else

:return today + relativedelta(days=+1

, weekday=weekday -1)

if __name__ ==

'__main__'

:with

open

('time.txt'

, encoding=

'utf-8'

)as f:

data = f.read(

).splitlines(

)for x in data:

print

(x, parseweekday(x=x)

)

今天 2020-06

-11明天 2020-06

-12後天 2020-06

-13大後天 2020-06

-14大大後天 2020-06

-15早上 2020-06

-11中午 2020-06

-11晚上 2020-06

-11傍晚 2020-06

-11今日 2020-06

-11第一天 2020-06

-11明日 2020-06

-12第二天 2020-06

-12兩天後 2020-06

-13第三天 2020-06

-13兩天後 2020-06

-13第三天 2020-06

-13三天後 2020-06

-14第四天 2020-06

-14四天後 2020-06

-15第五天 2020-06

-15周一 2020-06

-08周二 2020-06

-09週三 2020-06

-10周四 2020-06

-11周五 2020-06

-12週六 2020-06

-13週日 2020-06

-14周天 2020-06

-14本周一 2020-06

-08本周二 2020-06

-09本週三 2020-06

-10本周四 2020-06

-11本周五 2020-06

-12本週六 2020-06

-13本週日 2020-06

-14本週天 2020-06

-14下周一 2020-06

-15下周二 2020-06

-16下週三 2020-06

-17下周四 2020-06

-11下周五 2020-06

-12下週六 2020-06

-13下週日 2020-06

-14下周天 2020-06

-14下星期一 2020-06

-15下星期二 2020-06

-16下星期三 2020-06

-17下星期四 2020-06

-11下星期五 2020-06

-12下星期六 2020-06

-13下星期日 2020-06

-14下星期天 2020-06

-14周12020-06

-08周22020-06

-09周32020-06

-10周42020-06

-11周52020-06

-12周62020-06

-13周72020-06

-14

python日期時間處理庫dateutil

入門Python這幾本書必看

基礎部分 python程式設計 入門到實踐 理論和實踐恰到好處,行文邏輯流暢,不跳躍,手把手教的感覺,又不囉嗦,非常適合入門。書中涵蓋的內容是比較精簡的,沒有艱深晦澀的概念,最重要的是每個小結都附帶有 動手試一試 環節,學程式設計本來就該多動手實踐,乙個只會理論知識的程式設計師可不是好程式設計師。2...

推薦幾本對創業者很有用的書籍

創業36條軍規 拉卡拉創始人孫陶然將自己多年的創業經歷與思考濃縮在這本書裡,20年來6次創辦和聯合創辦企業的他橫跨了 廣告 公關 消費電子 農業及金融服務業行業,每一次創業都是獨闢蹊徑,守正出奇,每一家企業都在細分行業中名列前茅。也因此,這本書很值得一看。引爆點 馬爾科姆 格拉德威爾以社會上突如其來...

2023年入門python,推薦這樣幾本好書!

藉此問題,奉上初學者最好的python學習書單!1 笨辦法學 python3 2 python程式設計從入門到精通 本書循序漸進 由淺入深地詳細講解了python 3語言開發的核心技術,並通過具體例項的實現過程演練了各個知識點的具體使用流程。通過兩個綜合例項的實現過程,介紹了python 3語言在綜...