pythonある日が祝日かどうかを判断する

1085 ワード

祝日は政府が毎年更新する日なので、自分で日付を入力する必要があります.
ホリデイは月曜日から金曜日まで休みです
WORKDAY土日出勤日
get_time受信時間が現在休みの場合Noneに戻ります.そうしないと自分に戻ります.
​​​​​​import datetime

# HOLIDAY           
HOLIDAY = ["2020-05-01", "2020-05-04", "2020-05-05", "2020-06-25", "2020-06-26", "2020-10-01", "2020-10-02",
         "2020-10-05", "2020-10-06", "2020-10-07", "2020-10-08", ]

# WORKDAY           

WORKDAY = ["2020-05-09", "2020-06-28", "2020-09-27", "2020-10-10", ]

# get_time              None ,      
def get_time(now=datetime.datetime.now()):
   #          ,      HOLIDAY,     now,    None
   # weekday 0-4          5,6     
   weekday = now.weekday()
   if weekday <= 4:
      if now.strftime("%Y-%m-%d") in HOLIDAY:
         return None
      return now
   if now.strftime("%Y-%m-%d") in WORKDAY:
      return now
   return None


if __name__ == '__main__':
   s = get_time(now=datetime.datetime(year=2020, month=10, day=10))
   print(s)