我会对此进行破解...我认为如果您将 PHP date() 函数返回的月份数除以 7 和 ceil(),它会给您正确的数字(我只是比较我的日历,所以不是 100% 保证的)。以下代码包含一个函数并在最后运行一个测试循环,产生以下输出
每月第2 个周一 每月
第 2 个周二 每月
第 2 个周三 每月第 3 个
周四 每月第 3 个
周五 每月第 3 个
周六每月第 3 个周日 每月
第3 个
周一 每月第 3 个
周二 每月第 3 个
周三每月第四
个星期四每月
第四个星期五每月
第四个星期六每月
第四个太阳每月
第四个星期一每月
第四个星期二
<?php
function getDateString($time) {
date_default_timezone_set ( "America/Los_Angeles" );
//$time = time();
$which_day = ceil((int) date('j', $time) / 7);
$which_day_name = date('D', $time);
$suffix = 'st';
switch ($which_day) {
case 2 :
$suffix = 'nd';
break;
case 3 :
case 4 :
case 5 :
$suffix = 'th';
break;
}
return $which_day . $suffix . ' ' . $which_day_name . ' of the month ' . PHP_EOL;
}
$time = time();
echo getDateString($time);
foreach (range(0, 15) as $day) {
$time = time() + ($day * 24 * 60 * 60);
echo getDateString($time);
}
?>