PHP дата показывает неправильную неделю - PullRequest
0 голосов
/ 16 января 2010

Почему дата PHP ("W") показывает, что текущая неделя равна 2? Разве это не должно быть на 3 неделе?

В документации PHP написано: недели, начиная с понедельника. Значит ли это, что он проигнорировал первые 3 дня этого года?

Ответы [ 3 ]

5 голосов
/ 16 января 2010

Нет, неделя 2 является верным.

Номер недели в соответствии с ISO-8601 стандартно, недели начинаются с понедельника. Первая неделя года это неделя который содержит первый в этом году Четверг. Самый высокий номер недели в год 52 или 53.

1 голос
/ 16 января 2010

2010-01-01 - 2010-01-03 - это дни 53-й недели, которая началась 2009-12-28.

редактировать: пример сценария

$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
0 голосов
/ 16 января 2010

Я считаю, что это означает, что первые три дня года принадлежат 52-й неделе прошлого года.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...