File: /var/www/html/breadsecret.com/calendar_test.php
<?php
function weekstartday($year, $weekno){
$date = new DateTime();
$date->setISODate($year,$weekno);
return $date->format('Y-m-d');
}
function date_info($date){
$year = date("Y");
$hour = date("H");
$weekday = date("N", strtotime($date));
$weekdayname = date("l", strtotime($date));
$weekno = date("W", strtotime($date));
if($weekday==6) {
$max_date1 = date('Y-m-d', strtotime("+7 day", strtotime($date)));
$max_date2 = date('Y-m-d', strtotime("+14 day", strtotime($date)));
} elseif($weekday>6) {
$max_date1 = date('Y-m-d', strtotime("+12 day", strtotime(weekstartday($year, $weekno+1))));
$max_date2 = date('Y-m-d', strtotime("+12 day", strtotime(weekstartday($year, $weekno+1))));
} else {
$max_date1 = date('Y-m-d', strtotime("+12 day", strtotime(weekstartday($year, $weekno))));
$max_date2 = date('Y-m-d', strtotime("+12 day", strtotime(weekstartday($year, $weekno))));
}
return ["date"=>$date, "weekno"=>$weekno, "weekday"=>$weekday, "weekdayname"=>$weekdayname, "maxdate1"=>$max_date1, "maxdate2"=>$max_date2];
}
$start_date = "2022-04-01";
$end_date = "2022-06-07";
echo "<table border='1' style='border-collapse: collapse;'>";
echo "<tr>";
echo "<td>當前日期</td>";
echo "<td>最大可選日期(當前時間<8pm)</td>";
echo "<td>最大可選日期(當前時間>=8pm)</td>";
echo "</tr>";
for($i=strtotime($start_date); $i<=strtotime($end_date); $i+=86400){
$date_info = date_info(date("Y-m-d",$i));
echo "<tr>";
echo "<td>".$date_info['date']." (".$date_info['weekdayname'].")</td>";
echo "<td>".date("Y-m-d (l)", strtotime($date_info['maxdate1']))."</td>";
echo "<td>".date("Y-m-d (l)", strtotime($date_info['maxdate2']))."</td>";
echo "</tr>";
}
echo "</table>";