Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中使用时区获取ISO 8601格式的时间戳_Php_Date_Timestamp - Fatal编程技术网

如何在php中使用时区获取ISO 8601格式的时间戳

如何在php中使用时区获取ISO 8601格式的时间戳,php,date,timestamp,Php,Date,Timestamp,基于,2014-04-16T11:16:27.930Z是ISO 8601格式的带有时区的时间戳。 快速研究表明,ISO 8601中的时间戳以+时间间隔(例如+00:00)显示时区 我尝试了日期('c'),显示日期:2014-04-16T06:23:31+00:00 有谁能告诉我如何在2014-04-16T11:16:27.930Z中显示时间戳,而不是2014-04-16T06:23:31+00:00考虑到维基百科关于UTC偏移量的文章可以定义为小时:分钟定义为小时分钟定义 Z是UTC零偏移的区域

基于,2014-04-16T11:16:27.930Z是ISO 8601格式的带有时区的时间戳。 快速研究表明,ISO 8601中的时间戳以+时间间隔(例如+00:00)显示时区

我尝试了日期('c'),显示日期:2014-04-16T06:23:31+00:00


有谁能告诉我如何在2014-04-16T11:16:27.930Z中显示时间戳,而不是2014-04-16T06:23:31+00:00

考虑到维基百科关于UTC偏移量的文章可以定义为小时:分钟定义为小时分钟定义

Z是UTC零偏移的区域标识符。因此,“09:30 UTC”表示为“09:30Z”或“0930Z”。“14:45:15 UTC”将是“14:45:15Z”或“144515Z”

PHP date方法将参数Z定义为

Z时区偏移量(以秒为单位)。UTC以西时区的偏移量始终为负,UTC以东时区的偏移量始终为正

因此,假设维基百科文章中提到的偏移量以秒为单位,您可以使用date创建自己的
iso8601
。给出了当前服务器时间/日期的示例:

date('Y-m-d\TH:i:s.Z\Z', time());
此外,正如@AndrewIsOffline在评论中提到的,因为使用“c”也会给出ISO 8601日期:

date('c', time());

如果所有其他操作都失败,您可以使用
date()
自己构建它,对吗?是的,但是如何在时间戳中以27.930Z的格式获取时区?谢谢,不是930Z时区定义吗?>ISO 8601中的时区表示为本地时间(未指定位置)、UTC或UTC的偏移量。Wikipedia说:如果时间是UTC,则在时间后直接添加一个Z,不带空格。Z是UTC零偏移的区域标识符。因此,“09:30 UTC”表示为“09:30Z”或“0930Z”。“14:45:15 UTC”将是“14:45:15Z”或“144515Z”。只需执行
gmdate('Y-m-d\TH:i:s.u\Z')有点旧,但由于PHP5仅使用'c'作为日期格式将给出完整的ISO8601格式的时间。