如何将我的时间从2010-12-30 23:21:46转换为ISO 8601日期格式?
我尝试$datetime->format(DateTime::ATOM)
和date(DATE_ISO8601, strtotime('2010-12-30 23:21:46'))
转换为ISO 2016-12-31T09:47:50+0000
等ISO8601格式。但我需要的是2018-02-19T05:43:59.753000Z
格式。我怎样才能实现使用PHP?
答案 0 :(得分:4)
如果您希望在Zulu / UTC / GMT时区输出格式,则必须首先转换时区,因为我不知道您当前的设置在哪个时区。
$dt = new DateTime('2010-12-30 23:21:46');
$dt->setTimezone(new DateTimeZone('UTC'));
echo $dt->format('Y-m-d\TH:i:s.u\Z');
的 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格式。阅读更多here。