PHP 中的 ISO8601 日期,格式为 YYYY-MM-DDTHH:MM:SS.mmmmmmmZ

jan*_*ojo 1 php datetime iso8601

我正在尝试在 PHP 中生成一个时间戳以与 API 一起使用。我似乎无法按照应有的格式设置时间戳。正确的格式是:

UTC ISO8601 日期时间格式: YYYY-MM-DDTHH:MM:SS.mmmmmmmZ

示例: 2013-04-24T11:11:50.2829708Z

编辑,让我澄清一下我遇到的实际问题:

'Z' 属性以秒为单位返回时区偏移量。我需要作为 date('c') 返回它的偏​​移量。

示例:+01:00 而不是 3600

PHP 中是否有内置函数?

sja*_*agr 7

您正在寻找与格式化程序或常量结合使用的DateTime::format方法cDateTime::ISO8601

$timestamp = new DateTime();
echo $timestamp->format('c'); // Returns ISO8601 in proper format
echo $timestamp->format(DateTime::ISO8601); // Works the same since const ISO8601 = "Y-m-d\TH:i:sO"
Run Code Online (Sandbox Code Playgroud)