日期toIsoString PHP

时间:2018-06-12 08:25:16

标签: php date datetime

我希望有一个类似日期的新日期()。来自javascript的ISOString()

输出为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

我想结合

  

ISO 8601日期和时间以UTC结合(YYYY-MM-DDTHH:MM:S +时区偏移| Z,即2018-04-18T11:02:05.261Z)

在Javascript中,我可以使用

格式
new Date().toISOString() //2018-06-12T08:24:49.321Z

1 个答案:

答案 0 :(得分:0)

您的首次尝试几乎就是您所需要的,只需将\DateTime::ISO8601更改为\DateTime::ATOM

从PHP手册:

  

日期时间:: ISO8601   DATE_ISO8601

     

ISO-8601(例如:2005-08-15T15:52:01 + 0000)

     

注意:此格式与ISO-8601不兼容,但出于向后兼容的原因,这种格式保留了这种格式。使用DateTime :: ATOM或DATE_ATOM来代替与ISO-8601的兼容性。