2009-10-08 6 views
21

Когда я тяну дату из БД, он возвращается, как это:Формат даты из базы данных?

2009-10-14T19: 00: 00

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

Первый: F d, Y Второй час: м (12-часовой формат)

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

ответ

52

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

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

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

+1

+1 Правильно, надеюсь, вы не возражаете против моего редактирования. – alex

4

Если вы хотите отформатировать его в базе данных (предполагается, что 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')); 

Ссылка:

2

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

$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 
2

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

echo date('m-d-Y H:i:s',strtotime($date_variable));