我有两个约会:
2014-12-01T12:05:59Z //dont know which format
和
2014-12-01T03:59:00-08:00 //i'll get it from date("c") function in php (ISO 8601).
所以,我不知道这个日期有什么不同?
如何在php中转换2014-12-01T12:05:59Z
这个格式的日期?
[UPDATE]
我想在2014-12-01T12:05:59Z
这个日期格式中获取当前时间戳。
答案 0 :(得分:0)
它是ISO 8601格式,并且time zone variants都是允许的,并且必须是预期的。 -08:00
表示比UTC晚8小时,Z
表示UTC,是+00:00
的快捷方式。
答案 1 :(得分:-1)
您提到的日期都是带时区的日期。唯一的区别是第一个日期的末尾'z'
为Zone Designator for UTC
,后一个日期的后缀为时区偏移量,通常表示为"HH:MM"
。实际上,两个日期都是相同的,两个表示都是正确的。
'z'
后缀表示通常是API有效负载中时间戳的xml标准。
根据您的要求,由于您的API提供商需要Zone Designator
的日期,因此他们必须以UTC计算时间。
我建议先使用
date_default_timezone_set('UTC');
然后使用此表达式获取所需的时间戳
date('Y-m-d\TH:i:s\Z', time());
通过这种方式,您可以从时区冲突中保存,并且您还可以将所需日期发送到API。
答案 2 :(得分:-2)
date_default_timezone_set('UTC');
echo gmdate('Y-m-d\TH:i:s\Z');
检查link。你也会得到不同的结果。