0.初めに
国内株などに投資をしていると平日だけ実行したいプログラムが思い浮かぶ。
Windows10 のタスクスケジューラは祝日に実行しない設定が存在しない。
そこで祝日のみをピンポイントで弾く必要性を感じた。
1.jpholidayをインストールする
コマンドプロンプトで
pip install jpholiday
を入力
2.サンプルプログラム
holiday.pyは祝日のとき終了するプログラム
exit()の下に(インデントを戻して)実施したいプログラムを記述すればよい
holiday.py
import datetime
import jpholiday
if jpholiday.is_holiday(datetime.date.today()):
print("Today is a holiday, so this program will not work.")
exit()
参照先
https://github.com/Lalcs/jpholiday
3.問題点
年末年始が対応してませんね。
金融機関は12/31,1/2,1/3を追加
役所はさらに12/29,12/30を追加
しなければならない。
↓の例は金融機関に対応したバージョン
現代は大発会も大納会も終日立会がありますよ
holiday.py
import datetime
import jpholiday
if jpholiday.is_holiday(datetime.date.today()):
print("today is holiday.so this program don't work.")
exit()
if datetime.date.today().strftime("%m/%d")=="12/31" or datetime.date.today().strftime("%m/%d")=="01/02" or datetime.date.today().strftime("%m/%d")=="01/03":#
print("today is holiday.so this program don't work.")
exit()