将 RFC 3339 中定义的具有时间偏移的日期转换为 PHP 中的时间戳
Convert dates with time-offset as defined in RFC 3339 to timestamp in PHP
我正在尝试将给定日期与当前日期进行比较,但我遇到了问题,如果我使用的日期格式如 RFC 3339 中所述使用时间偏移。
例如给定的时间字符串是“2015-10-16T13:00:00Z+02:00”,我想得到差异:
$difference = strtotime("2015-10-16T13:00:00Z+02:00") - time();
但是 $difference
设置为与我使用“2015-10-16T13:00:00Z”时的设置相同。
我还使用 date_default_timezone_set
将默认时区设置为 "UTC" 但这没有任何改变。
如果我使用的是没有结尾 "Z" 的时间字符串(例如“2015-10-16T13:00:00”),一切正常。
谁能帮我解决这个问题?
输入有问题。 Z+02:00
无效。
ISO8601 / RFC3339 允许 Z
或 +02:00
- 不能两者兼而有之。 (Z
表示 +00:00
)
我正在尝试将给定日期与当前日期进行比较,但我遇到了问题,如果我使用的日期格式如 RFC 3339 中所述使用时间偏移。
例如给定的时间字符串是“2015-10-16T13:00:00Z+02:00”,我想得到差异:
$difference = strtotime("2015-10-16T13:00:00Z+02:00") - time();
但是 $difference
设置为与我使用“2015-10-16T13:00:00Z”时的设置相同。
我还使用 date_default_timezone_set
将默认时区设置为 "UTC" 但这没有任何改变。
如果我使用的是没有结尾 "Z" 的时间字符串(例如“2015-10-16T13:00:00”),一切正常。
谁能帮我解决这个问题?
输入有问题。 Z+02:00
无效。
ISO8601 / RFC3339 允许 Z
或 +02:00
- 不能两者兼而有之。 (Z
表示 +00:00
)