PHP IntlDateFormatter ::解析输出时区

时间:2014-06-13 21:14:20

标签: php time timezone

我有以下PHP代码:

$date = 'janvier 1, 2014 à 5:00PM';
$formatter = new IntlDateFormatter('fr_CA', IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Toronto', IntlDateFormatter::GREGORIAN, 'MMMM d, yyyy 'à' h:mma');
$date = $formatter->parse($date);
var_dump($date);

输出结果为:

int(1388613600)

这似乎是一个UNIX时间戳,它始终是UTC,对吧?所以它会自动从美国/多伦多转换?

只是确认我有这个正确的。我没有很多PHP和时区的经验,所以我很感激任何帮助。

2 个答案:

答案 0 :(得分:1)

正确。时间戳是UNIX时间戳。那就是 - 1970年1月1日UTC以来的整秒数,不计入闰秒。

您可以使用epochconverter.com

等网站验证时间戳
1388613600 = 2014-01-01T22:00:00Z

然后,您可以在timeanddate.com检查时区详情。

答案 1 :(得分:0)

正如Marc B所说,date('r', 1388613600)返回了日期的格式化版本,包括设置为+0000的时区偏移量。

输出实际上是UTC。

谢谢马克!