【PHP】休日を省いた日付処理
現在日付から4営業日後の日付を取得するロジックを作りました。
//本日から4営業日後の計算 $setbizDays = 4; //何営業日後かを設定 $offdays = array('Sat','Sun'); //土、日を配列に格納 $holidays = array('2018-03-21','2018-04-29','2018-04-30','2018-05-03','2018-05-04','2018-05-05','2018-07-16','2018-08-11','2018-09-17','2018-09-23','2018-09-24','2018-10-08','2018-11-03','2018-11-23','2018-12-23','2018-12-24'); //休日を配列に格納 $fourbizDays = date("Y-m-d"); //現在日付を設定 $fourbizDaystmp = date("Y-m-d"); //処理用に現在日付を設定 $i = 1; $j = $setbizDays; //現在日付から1日単位で休日かを判定する while($i <= $j){ $tmp = strtotime($fourbizDaystmp . " + $i day "); if(in_array(date("D", $tmp), $offdays) || in_array(date("Y-m-d", $tmp), $holidays)){ $i++; $j++; }else{ $i++; } $fourbizDays = date("Y-m-d", strtotime($fourbizDays . " + 1 day ")); }
あとは、$fourbizDaysを表示させるなり、煮るなり焼くなりすればOK!