我想要一个像 new Date().toISOString() of javascript 这样的日期
输出是 2018-06-11T08:30:25.597Z
我试过
(new \DateTime('now',new \DateTimeZone("UTC")))->format(\DateTime::ISO8601) // 2018-06-12T08:21:13+0000
$t = date('c', strtotime('2010-12-30 23:21:46')); //2010-12-30T23:21:46+01:00
$t2 = date(DATE_ISO8601, strtotime('2010-12-30 23:21:46')); //2010-12-30T23:21:46+01:00
$datetime = new \DateTime('2010-12-30 23:21:46');
$t3 = $datetime->format(\DateTime::ATOM); // 2010-12-30T23:21:46+01:00
Run Code Online (Sandbox Code Playgroud)
我想结合
联合的 ISO 8601 UTC 日期和时间(YYYY-MM-DDTHH:MM:S+Timezone Offset|Z,即 2018-04-18T11:02:05.261Z)
在Javascript中,我可以使用这种格式
new Date().toISOString() //2018-06-12T08:24:49.321Z
Run Code Online (Sandbox Code Playgroud)
你的第一次尝试几乎就是你所需要的,只需更改\DateTime::ISO8601
为\DateTime::ATOM
.
来自 PHP 手册:
日期时间::ISO8601 DATE_ISO8601
ISO-8601(示例:2005-08-15T15:52:01+0000)
注意:此格式与 ISO-8601 不兼容,但出于向后兼容的原因保留这种格式。请改用 DateTime::ATOM 或 DATE_ATOM 以与 ISO-8601 兼容。