gpt4 book ai didi

php - 解析并创建 ISO 8601 日期和时间间隔,如 PHP 中的 PT15M

转载 作者:IT王子 更新时间:2023-10-29 01:22:07 25 4
gpt4 key购买 nike

我正在使用的库和网络服务在 ISO 8601 format: PnYnMnDTnHnMnS 中通信时间间隔.我想将此类格式转换为秒。反之亦然。秒更容易计算。

示例间隔值是:

  • PT1M 或 PT60S(1 分钟)
  • PT1H、PT60M 或 PT3600S(1 小时)

我需要两个函数:从这些值解析为秒:iso8601_interval_to_seconds() 以及从秒解析为这样的间隔:iso8601_interval_from_seconds()

后者相当简单,因为它可以像 `"PT{$seconds}S"一样完成,只需传递秒数,始终如此。也许使用切换到 H(小时)或 M(分钟)的解析器可以做得更好?

第一个更难,但也许 PHP 中有许多字符串到日期转换器之一有技巧?我很想学习如何使用这样的函数来解析间隔。或者学习另一种方法。

最佳答案

它看起来像 PHP 5.3 的 DateInterval支持这一点。

如果你不能使用 5.3,我想任何这样的转换函数都会知道年、月、日、小时和分钟中有多少秒。然后,当从秒转换时,它会按顺序除法,每次取前一个操作的模,直到只剩下 <60 秒。当从 ISO 8601 区间表示转换时,解析字符串并相应地乘以每个找到的元素应该是微不足道的。

关于php - 解析并创建 ISO 8601 日期和时间间隔,如 PHP 中的 PT15M,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3721085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com