HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.30
System: Linux iZj6c1151k3ad370bosnmsZ 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User: root (0)
PHP: 7.4.30
Disabled: NONE
Upload Files
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>";