将RFC 3339中定义的带时间偏移的日期转换为PHP中的时间戳

时间:2015-10-16 10:36:08

标签: php date datetime timezone

我正在尝试将给定日期与当前日期进行比较,但如果我使用时间偏移量在RFC 3339中描述的格式化日期,则会遇到问题。

E.g。给定的时间字符串是" 2015-10-16T13:00:00Z + 02:00"我希望得到改变:

$difference = strtotime("2015-10-16T13:00:00Z+02:00") - time();

但是$difference设置为和我正在使用" 2015-10-16T13:00:00Z"。

我还将默认时区设置为" UTC"使用date_default_timezone_set,但这没有任何改变。

如果我使用时间字符串而没有结束" Z" (例如" 2015-10-16T13:00:00")一切正常。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

问题在于输入。 Z+02:00无效。

ISO8601 / RFC3339允许 Z+02:00 - 而不是两者。 (Z表示+00:00