【问题标题】:Using PHP for adding time values [duplicate]使用 PHP 添加时间值 [重复]
【发布时间】:2014-11-01 00:30:55
【问题描述】:

我从数据库中得到一个包含以下值的数组(按时间):

  1. 00:00
  2. 00:02
  3. 00:01
  4. 00:02
  5. 00:02
  6. 00:02

我想对这些值求和并返回秒数。

我写了一个这样的 PHP 脚本:

for ($i = 0; $i < count($values); $i++) {
    $time += strtotime($values[$i]);
}

echo date('s', strtotime($time);

但我得到 00 作为输出。

我做错了什么?

谢谢。

【问题讨论】:

  • 这个值是小时和分钟(HH:MM)还是分钟和秒组合(MM:SS)?
  • strtotime 返回时间戳,它不会将包含秒数的字符串转换为数字
  • HH:MM 是组合。
  • 如果您有 durations,则一开始就不应该以时间格式存储它们。只需存储一个以秒为单位的简单整数。

标签: php time


【解决方案1】:

我认为您将不得不单独总结。

示例。如果你想在几秒钟内回答并假设 HH:MM

    $seconds = 0;
   // loop through each time
    foreach ($values as $value) {
        list($hours, $minutes) = explode(':', $value);
        $seconds += $hours * 60 * 60; //convert hours to seconds and add
        $seconds += $minutes * 60; //convert minutes to seconds and add
    }

    echo $seconds; //total time in seconds

编辑:我没有添加任何验证,例如。 “25:22”。那是你的工作。

【讨论】:

    【解决方案2】:

    您的数组中只有小时和分钟,您需要像 00:00:02 这样的秒数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      相关资源
      最近更新 更多