2009-07-13 5 views
0

Эй я пытаюсь отобразить дату/время из поля временной метки с помощью:отображения MySQL метка времени правильно

echo $date = date("D F j", $row['date']); 

Однако он возвращается: Ср декабря 3 Когда он должен вернуться сегодня: понедельник 13 июля

Временная метка из ряда DB: 2009-07-13 04:16:31

Спасибо.

ответ

4

Вы должны использовать

SELECT UNIX_TIMESTAMP(`date`) AS `date` FROM ... 

Это даст вам дату в правильном формате, чтобы передать на date() функции PHP.

Edit:

SELECT *, UNIX_TIMESTAMP(`date`) AS `date` FROM songs WHERE date >= DATE_SUB(NOW() , INTERVAL 2 WEEK) 

В качестве примечания - это лучше избегать использования NOW() в запросах, поскольку он предотвращает их кэширование - вводить дату в вас приложения вместо этого.

+0

Erm ... Как бы интегрировать это в мой запрос SELECT *: SELECT * FROM songs WHERE date> = DATE_SUB (NOW(), INTERVAL 2 WEEK) – ian

+0

Спасибо за СЕЙЧАС() Я изменю его. – ian

+0

Как вы могли бы написать этот запрос без СЕЙЧАС()? – Svish

1

Также возможно:

$date = date("D F j", strtotime($row['date'])); 

Но решение Грега лучше кодирования.

+0

Ahhh. Это выглядит знакомо. Я не мог вспомнить, как я это делал раньше. Спасибо за альтернативный метод. – ian

Смежные вопросы