Php Преобразование времени в формат gmt

У меня есть эта строка 2012-06-27 16:17:06, и я хочу преобразовать ее в формат GMT.
Как мне это сделать?

Большое спасибо.


person michele    schedule 03.07.2012    source источник
comment
возможный дубликат Конвертировать дату в gmt - php   -  person Oliver    schedule 04.07.2012


Ответы (5)


PHP DateTime Object - хороший выбор:

$GMT = new DateTimeZone("GMT");
$date = new DateTime( "2011-01-01 15:00:00", $GMT );
$date->setTimezone( $newTZ );
echo $date->format('Y-m-d H:i:s'); 
person Sam Ellis    schedule 03.07.2012

Используйте gmdate().
Преобразование текущего формата даты в отметку времени UNIX используя strtotime, а затем используйте gmdate($format, $timestamp);

person Nikola K.    schedule 03.07.2012
comment
$time=strtotime(2012-06-27 16:17:06); gmdate($формат, $время); но какое значение я должен присвоить в формате $? - person michele; 04.07.2012

Ну, строго говоря, вы не можете этого сделать. Если вы не знаете, в какой ТЗ была сгенерирована эта дата, вы не можете преобразовать ее в другую ТЗ.

Если эта дата получена из БД, вероятно, вы можете запросить дату с исходной TZ.

$date = new DateTime( "2011-01-01 15:00:00", $original_TZ ); 
$date->setTimezone( "GMT" );
person Ivan Buttinoni    schedule 03.07.2012

Попробуйте это, это сработает

$newTZ = new DateTimeZone("Asia/Calcutta");
date_default_timezone_set("Asia/Calcutta");  
$GMT = new DateTimeZone("GMT");
$date = new DateTime( "2018-09-20 6:00:00 PM", $newTZ );
$date->setTimezone($GMT);
echo $date->format('Y-m-d H:i:s');
person userinterface performance    schedule 20.09.2018

Попробуй это.

$time = '2012-06-27 16:17:06';
echo date("l, F j, Y, g:i a",strtotime($time) ); // assuming gmt format

взято из Как получить среднее время по Гринвичу в PHP?

person jarchuleta    schedule 03.07.2012