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());