【问题标题】:How do I convert ISO 8061 to Datetime in PHP?如何在 PHP 中将 ISO 8061 转换为日期时间?
【发布时间】:2018-09-01 11:16:57
【问题描述】:

我正在使用 YouTube API,当我尝试获取视频时长时,我收到了PT11M41S,因此是 ISO 8061。如何获取 PHP 日期对象?

【问题讨论】:

  • 这是一个持续时间,而不是日期/时间。 PT11M41S 表示 11 minutes, 41 seconds。您希望得到什么结果?
  • $duration = new DateInterval("PT11M41S");

标签: php date youtube-data-api iso


【解决方案1】:

正如您已经说过的那样,您尝试从 Youtube API 获取持续时间。那么您收到的格式根本不是日期时间,而是基于 ISO 8061 specifications 的持续时间(如预期的那样)。您不能简单地转换这种类型持续时间到 PHP 中的 Datetime 。那将是无用的。但是您可以通过这种方式将其转换为 PHP DateInterval 本机对象:

$duration = new DateInterval("PT11M41S"); 

从那里您可以使用DateInterval::format() function 随意格式化它(以人类可读的设计) 要了解更多关于如何构造和使用 PHP DateInterval 对象的信息,您可以查看:The DateInterval class

【讨论】:

    猜你喜欢
    • 2021-10-09
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多