2016-06-02 3 views
-1

Я дата хранится в базе данных в этом формате, честно говоря я не знаю, часовой пояс этого форматаDateTime формиат в PHP

2016-05-26T11: 35: 00.000Z

, но я хочу для отображения даты в этом формате

27 мая 2016 12:00 утра

Здесь находится код

$date = substr($query_result->post_date, 0,10); 
$date = date_create($date); 
date_format($date,"F j, Y g:i a"); 

Он отображает дату правильно, но всегда показывает 12:00 с датой. Как если дата

2016-05-26T11: 35: 00.000Z

, то он должен отображать

26 мая 2016 11:35 утра/вечера

Заранее спасибо

+2

Параметр 'Z' в конце этого сохраненное значение' 'Zulu' ака UTC', так что ваш часовой пояс –

+0

Это будет только когда показывают 12:00 утра, если вы принимаете только часть даты в ваш 'substr()' и отбрасывая время .... вы берете 10 символов из позиции 0 .... это '2016-05-26' –

+1

Это отлично работает для меня. 'Echo date (" F j, Y g: i a ", strtotime (" 2016-05-26T11: 35: 00.000Z "));' – Andreas

ответ

1

Сокращение лет ur datetime string, вы теряете информацию о времени и часовом поясе. Время 00:00 и системный часовой пояс затем применяются к вашему дате времени, и из-за этого вы получаете неправильный результат.

$date = date_create($query_result->post_date); 
date_format($date,"F j, Y g:i a"); 
Смежные вопросы