Попытка получить номер недели из поля даты - PullRequest
0 голосов
/ 28 августа 2010

Для данного поля даты (отформатированного в sql как: гггг-мм-дд) я хотел бы вывести его как номер недели.

Я пытался работать с date (), но это не сработало.

Поле SQL: ГГГГ-ММ-ДД

Желаемый результат: неделя 12 - 2010

Кто-нибудь знает, как это сделать? заранее спасибо !!

Ответы [ 4 ]

1 голос
/ 28 августа 2010

Если вы хотите просто сделать это в 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

0 голосов
/ 28 августа 2010

Использование strtotime и date:

<?php
$sqldate = "2010/08/28";

echo date("\W\e\e\k W - Y", strtotime($sqldate));
?>
0 голосов
/ 28 августа 2010

В PHP вы можете попробовать это:

echo date("\Week W - Y", date_parse($sql_date_from_db))
0 голосов
/ 28 августа 2010

Попробуйте это:

$bits = explode("-", "2010-08-28");
echo date("W", mktime(0, 0, 0, $bits[1], $bits[2], $bits[0]));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...