Формат даты из базы данных? - PullRequest
22 голосов
/ 08 октября 2009

Когда я вытаскиваю дату из БД, она возвращается так:

2009-10-14T19: 00: 00

Я хочу отформатировать его двумя разными способами ...

Первый: Ф Д, У Второй ч: м (12 часовой формат)

Все, что я пытаюсь, возвращается в декабре 1969 года ... Помогите ?! Я так растерялся ...

Ответы [ 5 ]

55 голосов
/ 08 октября 2009

Обычно код просто:

echo date('F d, Y h:mA', strtotime('2009-10-14 19:00:00'));

Обратите внимание, что если strtotime() не может определить дату, она возвращает время как 1/1/1970 00:00:00 по Гринвичу .

6 голосов
/ 08 октября 2009

Если вы хотите отформатировать его в базе данных (при условии MySQL):

SELECT DATE_FORMAT(t.column, '%M %D, %Y'), --October 14, 2009
       DATE_FORMAT(t.column, '%h:%i %p') --hh:mm am/pm
  FROM TABLE t

... или если вы хотите сделать преобразование в PHP:

echo date('F d, Y h:mA', strtotime('2009-10-14 19:00:00'));

Справка:

5 голосов
/ 14 мая 2013

Простая функция отображения даты:

 echo date('m-d-Y H:i:s',strtotime($date_variable));
2 голосов
/ 12 января 2011

Лучше всего и ясно

$res_tbl ='select create_date from tbl_comments';
while($table =mysql_fetch_array($res_tbl))
{
  echo date('F d, Y h:mA', strtotime($table['create_date']));
  echo "<br>";
}

Выход:

January 10, 2009 21:12
March 21, 2001  12:04
0 голосов
/ 08 октября 2009

Возможно, вы захотите проверить strtotime

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...