Я столкнулся с интересной проблемой, используя функцию PHP date()
. Не повезло найти обсуждение этого вопроса на SO или с помощью Google, но, возможно, кто-то еще сталкивался с той же проблемой раньше?
Я пытаюсь получить ГОД и НЕДЕЛЮ ГОДА для данной временной отметки. Это код, который я использую:
date("Y-\WW");
Что на сегодняшний день правильно выводит: 2011-W39
.
Проблема заключается в предоставлении метки времени, если эта метка времени, например, 3 января 2011 года (которая фактически была частью «52-й недели 2010 года». PHP правильно возвращает W52, но также и 2011 год). как год, а не 2010.
date("Y-\WW", 1294016400);
Выходы: 2011-W52
Есть идеи, как решить эту проблему? Я должен отметить, что хотя в этом случае было бы просто сравнить, что strtotime()
выходного сигнала больше, чем текущий time()
, и отрегулировать, но мне нужно решение, которое будет работать и в предыдущие годы (например, если то же самое произошло 3 января 2010 года).