Получение года и недели года из PHP date (), когда неделя длится два года

Я столкнулся с интересной проблемой, используя функцию PHP date () . Не удалось найти обсуждение этого в SO или с помощью Google, но, может быть, кто-то еще сталкивался с той же проблемой раньше?

Я пытаюсь получить ГОД и НЕДЕЛЮ ГОДА для заданной метки времени . Это код, который я использую:

date ("Y- \ WW");

Который на сегодняшний день правильно выводит: 2011-W39 .

Проблема заключается в поставке отметка времени, если отметка времени в вопросе n - это, например, 3 января 2011 года (что фактически было частью «52-й недели 2010 года». PHP правильно возвращает W52, но также возвращает 2011 в качестве года вместо 2010.

date ("Y- \ WW", 1294016400);

Выводы: 2011-W52

Любая идея по Как решить эту проблему? Я должен отметить, что хотя в этом случае было бы легко просто сравнить, что strtotime () вывода больше, чем текущее time () , и настроить, но мне нужен решение, которое будет работать и в предыдущие годы (например, если то же самое произошло 3 января 2010 г.).

7
задан Riley Dutton 30 September 2011 в 13:30
поделиться