PHP日期函数显示错误的一周

时间:2010-01-16 15:38:57

标签: php date

为什么PHP日期(“W”)显示当前周是2?不应该在第3周吗?

在PHP文档中说:周一开始的周。这是否意味着它只是忽略了今年的前三天?

3 个答案:

答案 0 :(得分:5)

不,week 2是正确的。

  

根据ISO-8601的周数   标准,星期一开始。   一年的第一周是一周   包含那一年的第一个   星期四。 a中最高的一周数   年份是52或53岁。

答案 1 :(得分:1)

2010-01-01 - 2010-01-03是在2009-12-28开始的第53周的日子。

编辑:示例脚本

$ts = strtotime('2009-12-27');
$end = strtotime('2010-01-26');

for($ts=strtotime('2009-12-27'); $ts<strtotime('2010-01-07'); $ts=strtotime('+1 day', $ts)) {
  echo date('Y-m-d W', $ts), "\n";
}

打印

2009-12-27 52
2009-12-28 53
2009-12-29 53
2009-12-30 53
2009-12-31 53
2010-01-01 53
2010-01-02 53
2010-01-03 53
2010-01-04 01
2010-01-05 01
2010-01-06 01

答案 2 :(得分:0)

我认为这意味着今年的前三天属于去年的第52周。