Php以gmt格式转换时间

时间:2012-07-03 21:45:28

标签: php time gmt

我有这个字符串2012-06-27 16:17:06,我想将其转换为GMT格式 我怎么能这样做?

非常感谢。

6 个答案:

答案 0 :(得分:6)

使用gmdate()
使用strtotime将当前日期格式转换为UNIX时间戳,然后使用gmdate($format, $timestamp);

答案 1 :(得分:2)

嗯,严格来说你不能这样做。 如果您不知道TZ生成了哪个日期,则无法将其转换为另一个TZ。

如果该日期来自数据库,可能您可以使用原始TZ查询日期。

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

答案 2 :(得分:1)

PHP的DateTime对象是一个不错的选择:

$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'); 

答案 3 :(得分:1)

// Set timeline
$time_line = time() +7200; // <-- this is timeline +2
$h = gmdate('h', $time_line);
$i = gmdate('i', $time_line);
$s = gmdate('s', $time_line);

$time = $h.":".$i.":".$s;

echo $time;

答案 4 :(得分:1)

尝试一下,它将起作用

$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');

答案 5 :(得分:0)

试试这个。

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

取自How do I get Greenwich Mean Time in PHP?