【问题标题】:How do you convert a time "duration" from a string value into an integer?如何将时间“持续时间”从字符串值转换为整数?
【发布时间】:2016-02-03 22:55:12
【问题描述】:

我有一堆表示时间间隔的字符串值,如下所示:

'1 hour''1.5 hours''30 minutes' 等...

我想将所有这些值转换为分钟数,所以上面分别变成:

609030

我一直在搞乱Carbon\Carbon 和PHP 的strtotime() 函数,但我不知道该怎么做。大概真的很简单吧?

【问题讨论】:

  • 解析、更改、加载(使用the DateInterval class),或将您正在使用的数据更改为有效的间隔格式,然后只需使用DateInterval 实例开始
  • 1 小时等于 60 分钟,1x60=601.5x60=90 30 分钟是分钟,因此解析为双倍并乘以 60
  • @Bsienn:如果不知道字符串的其余部分是什么意思(秒、天、分钟、小时......),你不能乘以 60。

标签: php string time duration


【解决方案1】:
$str = '1 hour';
$int1 = strtotime("+".$str)- strtotime("now");

这里$int1 将以秒为单位返回时间。在这里它将返回3600。这不会处理像1.5 hours 这样的分数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多