【发布时间】:2020-12-14 14:50:28
【问题描述】:
我希望能够从人类可以理解的格式解析时间规范,例如:
-
2 小时
-
40 秒
-
50 米
-
1天
其中 d 是可能的最大规格。
PHP 中是否有标准函数(包括 Carbon 或 Symfony 的任何部分)来解析这些规范,或者我应该自己实现它(相当简单)
【问题讨论】:
-
strtotime 和 Carbon::createFromDateString 都不能处理这个问题——我自己试过,PHP 7+
-
在这种情况下,我们谈论持续时间或日期/时间...?因为,即使您将此模式转录为标准日期/时间格式,此处的日期值也不会被视为一天(24 小时)。我的建议如果它是一个常规的 pettern,你可以制作一个 php 函数将其转换为标准格式。
-
这些不是日期或时间,而是持续时间。如果有的话,你会想看看
DateInterval。 -
@deceze 谢谢,这是一个部分解决方案,使我能够创建一个完全工作的解决方案
-
您使用的语法由
CarbonInterval::fromString开箱即用处理
标签: php symfony php-7 php-carbon