Номер недели в PHP, снова - PullRequest
       16

Номер недели в PHP, снова

3 голосов
/ 11 февраля 2011

Мы используем стандарт ISO 8601, чтобы показывать номера недель здесь, в Швеции.Большинство людей, похоже, смущены этим стандартом, что первая неделя может быть в прошлом году.Я в курсе этого.

У меня другая странная проблема, каждая дата в понедельник показывает неправильный номер недели.Насколько я знаю, недели должны начинаться по понедельникам в соответствии с этим стандартом и руководством по PHP.Я что-то упустил очевидное?Я использую PHP5.3.3.Спасибо заранее!

$week = date('W', strtotime('2011-01-24')); //gives $week = 03

$week = date('W', strtotime('2011-01-25')); //gives $week = 04 correct!

Согласно моему календарю 2011-01-24 должно быть неделя 4

enter image description here

1 Ответ

0 голосов
/ 11 февраля 2011

Скорее всего, это проблема часового пояса.

Попробуйте еще раз, явно установив смещение часового пояса:

$week = date('W', strtotime('2011-01-24T00:00:01+0200')); // 03 - incorrect behavior
$week = date('W', strtotime('2011-01-24T00:00:01+0000')); // 04 - correct behavior!
...