Дата и время в 24-часовом формате

У меня свидание в этом формате Fri, 15 Jan 2016 15:14:10 +0800и я хочу отображать время, как это 2016-01-15 15:14:10,

То, что я пытался это:

$test = 'Fri, 15 Jan 2016 15:14:10 +0800';
$t = date('Y-m-d G:i:s',strtotime($test));
echo $t;

Но это отображает дату в этом формате: 2016-01-15 7:14:10, так должно быть 2016-01-15 15:14:10,

Как я могу это сделать?

2

Решение

использование H вместо:

$test = 'Fri, 15 Jan 2016 15:14:10 +0800';
$t = date('Y-m-d H:i:s',strtotime($test));
echo $t;

ЧАС: 24-часовой формат часа с ведущими нулями от 00 до 23

G должен быть таким же, но без начальных нулей. Я подозреваю, что ваш PHP настроен на другой часовой пояс, чем +0800, Можете ли вы подтвердить свой часовой пояс (date_default_timezone_get())?

РЕДАКТИРОВАТЬ

ОП подтвердил, что его часовой пояс был установлен на UTC, и в этом случае он полностью маскирует то, что показывает 7 часов утра, а date использует часовой пояс по умолчанию для PHP.

Если вы хотите «наследовать» часовой пояс, получая большую гибкость, вам следует переключиться на DateTime:

echo (new DateTime($test))->format("Y-m-d H:i:s");
13

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector