[英]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')));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.