繁体   English   中英

PHP将本地时间转换为UTC DateTime

[英]PHP Convert Local time to UTC DateTime

我想将本地时区dateTime转换为UTC时区DateTime。

date_default_timezone_set('Asia/Calcutta');
$datetime = "2016-05-05 18:33:00";
echo date_default_timezone_get()."<br>"; // Asia/Calcutta
date_default_timezone_set('UTC');
echo date_default_timezone_get()."<br>"; //UTC
echo $utcDateTime = date("Y-m-d H:i:s",strtotime($datetime));

电流输出

2016-05-05 18:33:00

但是,问题是没有将本地dateTime转换为UTC dateTime。 它将输出作为本地DateTime。

在使用date_default_timezone_set更改时区之前,您需要将日期传递给strtotime 像这样:

date_default_timezone_set('Asia/Calcutta');
$datetime = "2016-05-05 18:33:00";
$asia_timestamp = strtotime($datetime);
echo date_default_timezone_get()."<br>"; // Asia/Calcutta
date_default_timezone_set('UTC');
echo date_default_timezone_get()."<br>"; //UTC
echo $utcDateTime = date("Y-m-d H:i:s", $asia_timestamp);

如果我对它的理解很好,它应该可以工作:

$date = DateTime::createFromFormat('Y-m-d H:i:s', '2016-05-05 18:33:00');
# you could to pass in timezone too
# $date = DateTime::createFromFormat('Y-m-d H:i:s', '2016-05-05 18:33:00',
#     new DateTimeZone('America/Fortaleza'));

var_dump($date->setTimezone(new DateTimeZone('UTC')));

使用日期助手

local_to_gmt($time = '');

// $gmt = local_to_gmt(time());

将UNIX时间戳记作为输入并将其作为GMT返回。

文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM