在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-hk/n/375355.html