如何从PHP本地时间(没有日期)获取UTC时间?

时间:2014-11-20 15:14:59

标签: php date datetime timezone

我有一个元素就像

的对象

i)"StartTime":"0001-01-01T09:30:00+00:00""Timezone":"NEW YORK"

时间字符串是24小时格式,其中"+00:00"没有意义,即所有时区的硬编码。

我要把它转换为UTC时间。

我的代码 -

$startTime = new \DateTime(substr($obj->Session->StartTime, 0, -6));
$startTime->setTimezone(new \DateTimeZone('UTC'));
print_r($startTime);
DateTime Object
(
[date] => 0001-01-01 03:36:40
[timezone_type] => 3
[timezone] => UTC
)

但实际上应该是下午2:30?

ii)"StartTime":"0001-01-01T08:00:00+00:00""Timezone":"LONDON"

结果

DateTime Object
(
[date] => 0001-01-01 02:06:40
[timezone_type] => 3
[timezone] => UTC
)

再次出错。

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

我建议寻找像NTP(网络时间协议)这样的解决方案。它将非常准确,并且配备了许多用于操作和时区转换的工具。