株式会社ウクレレ
Ukulele Ltd.

Deluge習得への道 Part5 -祝日や休日を無視する-

2020.11.19 09:28:27 By 菊地淳

会社のカレンダーで休みの日は実行しない

業務系ではよくある、土日や会社の休日は実行しない設定の実装方法



Delugeの組み込み関数にもworkdayworkdaysBetweenなどの関数が準備されていたが、自社カレンダーも除外したかったので強引に作ってみる。




// 土日も含めた休日・祝日を定義


holidaylist = {"2020/01/01","2020/01/02","2020/01/03","2020/01/04","2020/01/05","2020/01/11","2020/01/12","2020/01/13","2020/01/18","2020/01/19","2020/01/25","2020/01/26","2020/02/01","2020/02/02","2020/02/08","2020/02/09","2020/02/11","2020/02/15","2020/02/16","2020/02/22","2020/02/23","2020/02/24","2020/02/29","2020/03/01","2020/03/07","2020/03/08","2020/03/14","2020/03/15","2020/03/20","2020/03/21","2020/03/22","2020/03/28","2020/03/29","2020/03/04","2020/03/05","2020/03/11","2020/03/12","2020/03/18","2020/03/19","2020/03/25","2020/03/26","2020/05/02","2020/05/03","2020/05/04","2020/05/05","2020/05/06","2020/05/09","2020/05/10","2020/05/16","2020/05/17","2020/05/23","2020/05/24","2020/05/30","2020/05/31","2020/06/06","2020/06/07","2020/06/13","2020/06/14","2020/06/20","2020/06/21","2020/06/27","2020/06/28","2020/07/04","2020/07/05","2020/07/11","2020/07/15","2020/07/18","2020/07/19","2020/07/23","2020/07/24","2020/07/25","2020/07/26","2020/08/01","2020/08/02","2020/08/08","2020/08/09","2020/08/10","2020/08/13","2020/08/14","2020/08/15","2020/08/16","2020/08/22","2020/08/23","2020/08/29","2020/08/30","2020/09/05","2020/09/06","2020/09/12","2020/09/13","2020/09/19","2020/09/20","2020/09/21","2020/09/22","2020/09/26","2020/09/27","2020/10/03","2020/10/04","2020/10/10","2020/10/11","2020/10/17","2020/10/18","2020/10/24","2020/10/25","2020/11/01","2020/11/03","2020/11/07","2020/11/08","2020/11/14","2020/11/15","2020/11/21","2020/11/22","2020/11/23","2020/11/28","2020/11/29","2020/12/05","2020/12/06","2020/12/12","2020/12/13","2020/12/19","2020/12/20","2020/12/26","2020/12/27","2020/12/30","2020/12/31"};




// 実行するかどうかのフラグ


isExe = true;




// 実行日を取得


today = zoho.currenttime.toString("yyyy-MM-dd","JST");




// 休日リストに実行日が含まれているかを判断


for each  holiday in holidaylist


{


if(today.toString("yyyy/MM/dd") == holiday)


{


// 休日の場合の処理


isExe = false;


}


}




info "実行日: " + today + " 実行フラグ:" + isExe;