使用dateutil
處理資料
pip install python-dateutil
收集放假安排時間表
備註:此**僅適用於2023年放假通知
from datetime import date
from dateutil.parser import parse
from dateutil.rrule import rrule, daily
defcreatedate
(timestr1:
str, timestr2:
str=
none)-
>
list
:'''建立日期序列
timestr2應大於等於timestr1
'''ifnot timestr2:
timestr2 = timestr1
date1 = parse(timestr1)
date2 = parse(timestr2)
delta = date2 - date1
if delta.total_seconds(
)<
0.0:
raise valueerror(
'timestr2 should be greater than timestr1'
)return
[i.date(
)for i in rrule(daily, dtstart=parse(timestr1)
, until=parse(timestr2))]
defisholiday
(timestr:
str=
none)-
>
bool
:'''判斷是否放假
- `放假安排 `_
:param timestr: 日期字串,可為空
:return: true or false
'''if timestr:
time = parse(timestr)
.date(
)else
: time = date.today(
) holiday =
holiday.extend(createdate(
'2020.1.1'))
,# 元旦
holiday.extend(createdate(
'2020.1.24'
,'2020.2.2'))
# 春節
holiday.extend(createdate(
'2020.4.4'
,'2020.4.6'))
# 清明節
holiday.extend(createdate(
'2020.5.1'
,'2020.5.5'))
# 勞動節
holiday.extend(createdate(
'2020.6.25'
,'2020.6.27'))
# 端午節
holiday.extend(createdate(
'2020.10.1'
,'2020.10.8'))
# 國慶中秋節
workday =
workday.extend(createdate(
'2020.1.19'))
# 春節調休
workday.extend(createdate(
'2020.4.26'))
# 勞動節調休
workday.extend(createdate(
'2020.5.9'))
# 勞動節調休
workday.extend(createdate(
'2020.6.28'))
# 端午節調休
workday.extend(createdate(
'2020.9.27'))
# 國慶中秋節調休
workday.extend(createdate(
'2020.10.10'))
# 國慶中秋節調休
# 節假日
if time in holiday:
return
true
# 調休
if time in workday:
return
false
# 普通週末
if time.isoweekday()in
[6,7
]:return
true
return
false
if __name__ ==
'__main__'
:print
(isholiday())
# 今天是否放假
print
(isholiday(
'2020.1.1'))
# 春節
print
(isholiday(
'2020.6.28'))
# 端午節調休
print
(isholiday(
'2020.7.6'))
# 普通周一
print
(isholiday(
'2020.7.11'))
# 普通週六
結果
false
true
false
false
true
放假安排時間表
python日期時間處理庫dateutil
python 判斷是否閏年
通過python函式實現判斷是否閏年!思路 1 判斷輸入是否為大於0整數,若是則進行判斷閏年 能被4整除且不能被100整除,或者能被400整除的年份都是閏年 若是則返回true 2 判斷輸入是否為數字類字元 isdigit判斷 若是則進行判斷閏年,若是則返回true 3 其他情況,均返回 輸入引數錯...
python判斷程序是否存在
coding utf 8 import win32com.client def check exsit process name wmi win32com.client.getobject winmgmts processcodecov wmi.execquery select from win32...
python判斷是否回文數
設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n 1234321,則稱n為一回文數 但若n 1234567,則n不是回文數。上面的解釋就是說回文數和逆序後的結果是相等的。這就是判斷乙個數值是否是回文數的標準。也是根據這個思路來實現的。coding ut...