首页 > 解决方案 > 如何使用碳在php中减去两次?

问题描述

我有两次,我想通过使用 PHP 内置函数或 Carbon 来减去它们。例如,我有以下时间:

  1. 00:05:10, 即 5 分 10 秒
  2. 00:03:10, 即 3 分 10 秒

如果我减去它们,总时间将是 00:08:20。有人可以指导我如何进行这样的减法吗?

标签: phptime

解决方案


如果将两个时间都转换为 unix 时间戳,请从每个时间中取出一个“基本时间戳”(对于 00:00:00),然后将它们加在一起,您将获得 2 个时间戳的秒数值。通过一些简单的操作,我们可以得到小时、分钟和剩余秒数的总数,然后将它们格式化为您的输入样式。

function add_times($a, $b) {
    $base = strtotime('00:00:00');
    $seconds = (strtotime($a) - $base) + (strtotime($b) - $base);

    $hours = floor($seconds / 3600);
    $minutes = floor($seconds / 60) % 60;
    $seconds = $seconds % 60;

    return sprintf('%02d:%02d:%02d', $hours, $minutes, $seconds);
}

echo add_times('00:05:10', '00:03:10');

推荐阅读