Если вы хотите просто сделать это в MySQL, вы можете использовать функцию WEEK()
:
SELECT WEEK(date) as week, YEAR(date) as year FROM mytable
Обратите внимание, что вы можете указать номер режима для WEEK()
, чтобы указать MySQL, с какого дня недели начинать. Например. некоторые серверы могут быть настроены на запуск недели по понедельникам, тогда как другие могут запускаться по воскресеньям.
SELECT WEEK(date, 0) as week ... /* explicitly start weeks on Sundays */
Есть также другие функции номера недели для MySQL, которые вы, возможно, захотите проверить, например YEARWEEK()
, который возвращает год + номер недели (например, 201012):
http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_week