PHP datetime-> format: неделя года и год приводят к числам, которые не имеют смысла вместе - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь получить год и неделю года от указанной даты в моем коде:

$dueDate->format('W , Y');

В приведенном выше коде duedate является объектом datetime с этим значением даты:

December 31, 2018

Когда я выводлю формат, который я указал выше, я получаю это:

01 , 2018

Если смотреть на каждое значение отдельно, функция верна.Тем не менее, вместе это сбивает с толку.

Кажется, 31 декабря читается как первая неделя, потому что она выпадает на понедельник, так что технически это правильно, это первая неделя 2019 года. В этом случае, тем не менее,Я бы хотел, чтобы год перевернулся и прочитал 2019.

Как решить эту проблему, чтобы перенести год только в этом случае?Любая помощь приветствуется.

1 Ответ

0 голосов
/ 24 сентября 2018

Вам нужно использовать год нумерации недели ISO-8601 , который равен o , если вы хотите год недели недели ISO-8601.Из документов:

Год недели нумерации ISO-8601.Он имеет то же значение, что и Y, за исключением того, что если номер недели ISO (W) относится к предыдущему или следующему году, вместо этого используется этот год.(добавлено в PHP 5.1.0)

$dueDate->format('W , o');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...