0

我最近在玩 facebook API 时遇到了很多麻烦:

我正在从一个事件中获取 start_time,我得到了这个:

2012-11-14T04:00:00+0000

我认为这是太平洋时间,因为事件发生在 13 日晚上 7 点在法国(我的时区)。如何将其转换为我的时区?

PS:我用PHP

编辑:我发现了一种并非一直有效的解决方法,我只是写

date_default_timezone_set('America/Los_Angeles'); 

在使用日期函数之前。但它不适用于某些修改后的日期。虽然我真的认为它来自 facebook ......无法修复的错误?

4

3 回答 3

2
$time = '2012-11-14T04:00:00+0000';

$dt = new DateTime($time, new DateTimeZone('PST'));
$dt->setTimezone(new DateTimeZone('CET'));

echo $dt->format('Y-m-d H:i:s'); // 2012-11-14 05:00:00
于 2012-05-21T22:56:39.287 回答
0

Facebook 使用ISO 8601时间格式。

最后的 +0000 表示它是 UTC 时间而不是太平洋时间。

于 2012-05-22T00:48:52.447 回答
0
date_default_timezone_set('California');

试试加州时区。对我来说效果很好。

于 2013-11-20T09:39:48.833 回答