如何使用 php 确定一周的开始


How to determine start of week with php?

我有一个脚本,它通过使用while循环获取一周的星期一,以便能够显示日历,因此它获取该周的星期一,然后列出对应于一周中的某一天的7个div。

我以为它正在工作,但今天(星期日)它已经开始列出从明天(星期一)开始的一周,这是为什么? 我拥有的代码是:

$days = date("j",strtotime("monday this week"));

该变量返回 8,这意味着 PHP 认为一周从星期日开始?

这应该适合您:

echo $monday = date("j",strtotime('last monday', strtotime('tomorrow')));

输出:

1

你最好依靠ISO8601标准:

$dt = new DateTime();
$dt->setISODate($dt->format('o'), $dt->format('W'));
echo $dt->format('Y-m-j');

演示