使用TimeZone将DateTime转换为ISO 8601 DateTime格式



如何将我的时间从2010-12-30 23:21:46转换为ISO 8601日期格式?

我尝试了$datetime->format(DateTime::ATOM)date(DATE_ISO8601, strtotime('2010-12-30 23:21:46')),将2016-12-31T09:47:50+0000等转换为ISO8601格式。但是我需要的是2018-02-19T05:43:59.753000Z格式。如何使用PHP ??

实现

如果您想在zulu/utc/gmt时区输出格式,则必须先转换时区,因为我不知道哪个时区是您当前的设置。

$dt = new DateTime('2010-12-30 23:21:46');
$dt->setTimezone(new DateTimeZone('UTC'));
echo $dt->format('Y-m-dTH:i:s.uZ');

demo


和ISO-8601是具有许多格式变化的标准:

  • 2018-04-03
  • 2018-04-03T05:20:03+00:00
  • 2018-04-03T05:20:03Z
  • 20180403T052003Z
  • 2018-W14
  • 2018-W14-2
  • ...

这都是有效的ISO-8601格式。在这里阅读更多。

相关内容

  • 没有找到相关文章

最新更新