2015-09-17 2 views
0

Я потянув поля даты и времени из базы данных с PHP в виде настоя:переформатирование поля даты и времени в более удобном для чтения формате

2015-09-22T13: 00: 00

Когда я заполнить мой HTML с этим значением, он возвращает это (примечание: без 'T'):

2015-09-22 13:00:00

Нет biggie.

Я хотел для выходного формата, чтобы выглядеть так:

22 сентября 2015 - 1:00 вечера GMT

Я не могу достаточно обернуть упреждающее вокруг различных функций PHP, а также всех классов DateTime, констант и т. д. и т. д. ... несколько функций для переключения вещей в разные форматы, не говоря уже о строковых форматах для фактического форматирования в правильном формате.

Может ли кто-нибудь с небольшим опытом помочь мне расшифровать это, пожалуйста?

+2

возможно дубликат [Преобразование одного формата даты в другой в PHP] (http://stackoverflow.com/questions/2167916/convert-one-date-format-in-another-in-php) – theB

ответ

0

Если вы хотите получить фактическое время по Гринвичу, вам необходимо будет использовать смещение от GMT на основе часового пояса пользователя.

Если вы просто хотите «позвонить» это GMT, то вы можете получить строку, как это ...

<?php 
$date = date("F jS, Y - h:i A", strtotime($row['column-name'])); 
echo $date.' GMT'; 
?> 

Счастливый кодирования!

1

Я не вижу, как вы можете установить день, чтобы иметь правильный суффикс, как в 22-й или 1-й. Поскольку нет информации о часовом поясе или смещении по времени, в строке нет информации о том, что это GMT, поэтому, если вы предполагаете, что это всегда GMT, это добавление GMT ​​в конце будет работать нормально. Большая часть времени datetime хранится со смещением, а не с часовым поясом.

<?php 
$date = date_create('2015-09-22T13:00:00'); 
echo date->format('m dd, Y - g:i A').' GMT '; 
?> 
+1

Вы получаете день с правильным суффиксом с строкой формата jS в date(). –