繁体   English   中英

将时区从名称转换为UTC

[英]Convert timezone from name to UTC

抱歉,我仍然不知道如何为这个问题写一个好标题。 在数据库中,我有一个时区字符串,例如:“ Asia / Bangkok”,我想将其转换为“ +07:00”。 我该怎么办? 这是我的代码:

$newTZ = new DateTimeZone("Asia/Bangkok");

但是我不知道下一步是什么。 非常感谢。

只需将时区设置为DateTime实例并使用“ P”格式显示

$newTZ = new DateTimeZone("Asia/Bangkok");
echo (new DateTime('now', $newTZ))->format('P'); // displays "+07:00" for 'now'

https://3v4l.org/0Cb0C

//GMT
$time = '01/01/2018 12:00 AM';
$zone = 'Asia/Bangkok';

$schedule_date = new DateTime($time, new DateTimeZone($zone) );
$schedule_date->setTimeZone(new DateTimeZone('UTC'));
$time2 =  $schedule_date->format('Y-m-d H:i:s');

//Time conveted to TimeZone
echo $time2;

//Compare time between two dates
$date1=date_create($time);
$date2=date_create($time2);

echo "<pre>";
$object = date_diff($date1, $date2);

//Detailed object
print_r($object);


//Get whatever format you want.
echo $object->h  . ':' . $object->i;

暂无
暂无

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

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