假设我有日期2022-01-02,当我想要得到一年中的第几周时,我得到了52。但现在是2021年的第52周,而不是2022年。问题是如何从这个日期得到正确的年份?
$date = "2022-01-02 00:00:00";
$week = (float) date("W", strtotime($date));
print $week . "n";
2021年第52周从2021-12-27(星期一)开始,到2022-01-02(星期日)结束。第一周的2022年开始2022-01-03(星期一)。这是ISO 8601的定义。例如,在国际商品管理中就使用这种星期编号。
因此,date()
支持3个格式字符:
- 工作日
w
W
周数o
与W
相关年份
所以echo date("o W w",strtotime("2022-01-02 00:00"));
打印2021 52 0
(年,星期,星期)。一周的第几天遵循旧的观念,星期日是一周的第一天。