昨天做了一個(gè)工作晴裹,基本任務(wù)就是根據(jù)傳入的時(shí)間(列表類型)判斷是工作日還是休息日被济,這里做一個(gè)分享。
首先介紹Python的三個(gè)包:datetime涧团、business_calendar溉潭、chinese_calendar
datetime
datatime 模塊題共用一些處理日期,時(shí)間和時(shí)間間隔的函數(shù)少欺。這個(gè)模塊使用面向?qū)ο蟮慕换ト〈藅ime模塊中整形/元組類型的時(shí)間函數(shù)喳瓣。
在這個(gè)模塊中的所有類型都是新型類,能夠從python中繼承和擴(kuò)展赞别。
這里對(duì)datetime類庫有一個(gè)初步的介紹畏陕。
business_calendar和chinese_calendar
這兩個(gè)類庫各有長處,都是用來判斷是否是節(jié)假日仿滔。
chinese_calendar判斷某年某月某一天是不是工作日/節(jié)假日惠毁。 支持 2004年 至 2019年。 兼容 Python2與Python3崎页。
business_calendar提供了非常簡單易用的計(jì)算工作日的接口鞠绰,并允許用戶指定特定日期為假期,從而將其從當(dāng)前的工作日中剔除
chinese_calendar的優(yōu)勢在于它引入了中國除公歷假期外的農(nóng)歷假期如春節(jié)飒焦、中秋節(jié)蜈膨、端午節(jié)、清明節(jié)等牺荠。支持2014年至2019年翁巍,優(yōu)點(diǎn)是準(zhǔn)確,符合國情233休雌,缺點(diǎn)是太受限制了灶壶,這就需要每年去更新包。
business_calendar優(yōu)點(diǎn)在于可以自己指定休息日和工作日:如指定周一到周四為工作日杈曲,其余為休息日驰凛,還可以手動(dòng)指定節(jié)假日胸懈,缺點(diǎn)是稍繁瑣,而且不符合國情恰响,趣钱,,畢竟我們國家的假期總是飄忽不定的渔隶。
下面來看一下兩者的實(shí)際使用情況:
chinese_calendar
import datetime
from chinese_calendar import is_workday()
date = datetime.datetime(2019, 8, 16)
if is_workday(date):
print("是工作日")
else:
print("是休息日")
輸出結(jié)果:
>>>是工作日
buiness_calendar
import datetime
from business_calendar import Calendar, MO, TU, WE, TH, FR
date =datetime.datetime(2019, 8, 16)
cal = Calendar(workdays=[MO,TU,WE,TH], holidays=['2019-01-1', '2019-10-1'])
if(cal.isbusday(date)):
print("是工作日")
else:
print("是休息日")