【问题标题】:Convert DateTime to ISO 8601 DateTime Format with timezone将 DateTime 转换为带时区的 ISO 8601 DateTime 格式
【发布时间】:2018-04-03 07:09:52
【问题描述】:

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

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

【问题讨论】:

    标签: php datetime timezone iso8601


    【解决方案1】:

    如果您希望输出 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

    【讨论】:

      猜你喜欢
      • 2018-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-08
      • 2020-10-21
      • 1970-01-01
      相关资源
      最近更新 更多