【发布时间】:2012-08-29 15:30:47
【问题描述】:
我正在阅读 API 的文档,它使用这种时间戳格式:
2012-08-29T15:31:23Z
我从未见过 T 和 Z 的位置是这样的,所以我必须创建一个自定义函数来生成这种格式。
是否有内置的 PHP 方法以这种格式或标准生成时间戳?
【问题讨论】:
我正在阅读 API 的文档,它使用这种时间戳格式:
2012-08-29T15:31:23Z
我从未见过 T 和 Z 的位置是这样的,所以我必须创建一个自定义函数来生成这种格式。
是否有内置的 PHP 方法以这种格式或标准生成时间戳?
【问题讨论】:
这是世界时间......它是日期,然后是时间分隔符,时间被放入与 UTC 相同的祖鲁时间
您可以通过简单的print strtotime('2012-08-29T15:31:23Z'); 将其更改为 unix 时间戳
例子
1994-11-05T08:15:30-05:00 对应于 1994 年 11 月 5 日上午 8:15:30,美国东部标准时间。
1994-11-05T13:15:30Z 对应于同一时刻。
【讨论】:
ISO 8601 日期时间格式规范
http://www.w3.org/TR/NOTE-datetime
"... 例子
1994-11-05T08:15:30-05:00 对应于 1994 年 11 月 5 日上午 8:15:30,美国东部标准时间。
1994-11-05T13:15:30Z 对应于同一时刻。
..."
【讨论】:
采用ISO 8601 标准化的格式。 Z 用于 UTC 时区。
您可以使用strtotime 对其进行解析并使用date 创建您自己的(DATE_ 常量来自DateTime Constants 的列表,链接自date 手册页):
$timestamp = strtotime('2012-08-29T15:31:23Z');
$datetime = date(DATE_ISO8601, $timestamp);
【讨论】: