在Python編程中,判斷工作日與節假日是非常常見的需求。下面將從多個方面進行詳細的闡述。
一、datetime庫介紹
datetime是Python中處理日期和時間的標準庫。使用datetime庫,可以輕鬆地進行日期和時間之間的轉換、計算和格式化。
首先,需要導入datetime庫:
import datetime
二、判斷國家法定節假日
在Python中,可以使用calendar庫來判斷國家法定節假日。calendar庫中有一個函數isocalendar(),可以返回給定日期的年、周數和星期幾。根據國家法定節假日的安排,可以判斷出給定日期是否為節假日。
下面是判斷2021年元旦、春節、清明節是否為節假日的代碼:
import calendar
def is_holiday(date):
year, week_num, day_num = date.isocalendar()
if week_num == 1 and day_num == 1: # 元旦
return True
elif week_num == 7: # 春節
return True
elif day_num == 6 or day_num == 7: # 清明節
return True
else:
return False
if __name__ == '__main__':
date1 = datetime.date(2021, 1, 1)
date2 = datetime.date(2021, 2, 14)
date3 = datetime.date(2021, 4, 4)
print(is_holiday(date1)) # True
print(is_holiday(date2)) # True
print(is_holiday(date3)) # True
三、判斷周末
除了國家法定節假日,周末也是一種常見的休息方式。在Python中,可以通過weekday()函數來判斷給定日期是星期幾(星期一為0,星期日為6)。如果是星期六或星期日,則為周末。
下面是判斷2021年5月份是否為周末的代碼:
def is_weekend(date):
weekday = date.weekday()
if weekday == 5 or weekday == 6:
return True
else:
return False
if __name__ == '__main__':
for i in range(1, 32):
date = datetime.date(2021, 5, i)
if is_weekend(date):
print(date)
四、判斷調休
在國家法定節假日與周末之間,可能會存在調休的情況。調休是指將周末的工作日調整為休息日,或將法定節假日的工作日調整為上班日。
在Python中,可以使用is_holiday()和is_weekend()函數來同時判斷是否為節假日和周末,以此判斷是否為調休。
下面是判斷2021年端午節調休的代碼:
if __name__ == '__main__':
date1 = datetime.date(2021, 6, 12) # 端午節調休上班
date2 = datetime.date(2021, 6, 13) # 端午節調休休息
print(is_holiday(date1) and not is_weekend(date1)) # True
print(not is_holiday(date2) and is_weekend(date2)) # True
五、總結
Python中判斷工作日與節假日的方法有多種,主要依靠datetime庫、calendar庫和自定義函數等實現。
原創文章,作者:LWKSW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/375355.html
微信掃一掃
支付寶掃一掃