我有这个字符串2012-06-27 16:17:06
,我想将其转换为 GMT 格式。
我怎样才能做到这一点?
非常感谢。
使用gmdate()。
通过使用将当前日期格式转换为 UNIX 时间戳strtotime
,然后使用gmdate($format, $timestamp);
好吧,严格来说你做不到。如果您不知道该日期是在哪个 TZ 中生成的,则无法将其转换为另一个 TZ。
如果该日期来自数据库,您可能可以使用原始 TZ 查询日期。
$date = new DateTime( "2011-01-01 15:00:00", $original_TZ );
$date->setTimezone( "GMT" );
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');
// 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;
试试这个,它会工作
$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');
尝试这个。
$time = '2012-06-27 16:17:06';
echo date("l, F j, Y, g:i a",strtotime($time) ); // assuming gmt format