这两个日期有什么区别?

时间:2014-12-01 12:12:45

标签: php date

我有两个约会:

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这个日期格式中获取当前时间戳。

3 个答案:

答案 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计算时间。 我建议先使用

将您的时区更改为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。你也会得到不同的结果。