Php 这两个日期有什么区别?

Php 这两个日期有什么区别?,php,date,Php,Date,我有两个约会: 2014-12-01T12:05:59Z //dont know which format 及 所以,我不知道这次约会有什么不同 如何在php中转换此格式的日期 [更新] 我想以2014-12-01T12:05:59Z此日期格式获取当前时间戳。这是该格式,两者都是允许的,并且必须是预期的-08:00表示比UTC晚8小时,Z表示UTC,是+00:00的快捷方式 date_default_timezone_set('UTC'); echo gmdate('Y-m-d\TH:i:s

我有两个约会:

2014-12-01T12:05:59Z //dont know which format

所以,我不知道这次约会有什么不同

如何在php中转换此格式的日期

[更新]
我想以
2014-12-01T12:05:59Z
此日期格式获取当前时间戳。

这是该格式,两者都是允许的,并且必须是预期的
-08:00
表示比UTC晚8小时,
Z
表示UTC,是
+00:00
的快捷方式

date_default_timezone_set('UTC');

echo gmdate('Y-m-d\TH:i:s\Z'); 

检查一下。你也会得到不同

您提到的两个日期都是带有时区的日期。唯一的区别是,第一个日期的末尾有
'z'
,这是UTC的
区域指示符
,后面的日期以时区偏移为后缀,通常表示为
“HH:MM”
。实际上,两个日期是相同的,两种表述都是正确的

'z'
后缀表示是API有效负载中时间戳的公认xml标准

根据您的要求,由于您的API提供商需要带
区域指示符的日期,因此他们必须以UTC为单位计算时间。
我建议首先使用UTC将您的时区更改为UTC

date_default_timezone_set('UTC');
然后使用此表达式获取所需的时间戳

date('Y-m-d\TH:i:s\Z', time());

通过这种方式,您可以避免时区冲突,并且还可以将所需的日期发送到API。

阅读本文,我猜您是在尝试将客户端生成的日期保存到数据库中?我想在
2014-12-01T12:05:59Z
格式中获取时间戳,以便将此时间戳传递到服务器以使用其API。应该做什么我用php编写代码来获取此格式?
date('c',$iTime)
将提供此格式-我不知道你为什么问一些你自己已经发现的问题。你说你想要此格式的当前时间戳,这意味着你想要ISO 8601格式的Unix时间戳。您想将ISO 8601格式解析为Unix时间戳吗?在
date('c')
中,时间戳的后面有
+00:00
。但是我只想要已经(几乎)得到回答的
Z
gmdate('Y-m-d\\TH:i:s\\Z',$iTime)
只有当默认时区设置为
UTC
(或带有+0000偏移量的时区仲裁)时,这才有效。否则,返回的日期时间将是错误的!改用
gmdate()
。可以省略
date()
函数中的第二个参数,因为
time()
是默认值,请参见。@Glavić是
gmdate('Y-m-d\TH:i:s\Z')
date('Y-m-d\TH:i:s\Z')
中的相同输出,其中
UTC-8
?感谢您的回答。)
date('Y-m-d\TH:i:s\Z', time());