Почему strtotime некорректно определяет номер недели?
Вот код
$timestamp = strtotime('01.02.2021 00:00');
echo $week = date('W', $timestamp); //05
$timestamp = strtotime('01.01.2021 00:00');
echo $week = date('W', $timestamp); // 53
Как вы видите 01.02.2021 это пятая неделя. Верно.
Но 01.01.2021 это 53 неделя? По логике первая.
Почему strtotime некорректно определяет номер недели?
Ответы (1 шт):
Автор решения: Great Tech
→ Ссылка
Номер недели вам выдает не strtotime, а date, преобразуя текстовую переменную в дату
W - номер недели в году, в соответствии со стандартом ISO 8601, по которому неделя начинается с понедельника, что можно также прочесть в документации:
1 января 2021 года является пятницей, а значит эта неделя принадлежит предыдущему году (20-му), являясь в нем 53-й неделей. Первая неделя 2021 года началась 3 января.
