首页  >  文章  >  后端开发  >  如何在 PHP 中添加两个时间间隔?

如何在 PHP 中添加两个时间间隔?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-04 02:51:02200浏览

How to Add Two Time Intervals in PHP?

PHP 中相加两个时间间隔

在 PHP 中,想要计算两个时间间隔的总时长并以小时和分钟格式显示,需要添加这两个间隔。然而,PHP 的 DateInterval 类没有重载 运算符,因此无法直接将它们相加。

要实现此目的,需要创建一个新的 DateTime 对象,使用 add() 函数添加两个间隔,然后显示与参考点的时差:

<code class="php">$e = new DateTime('00:00');
$f = clone $e;
$e->add($interval1);
$e->add($interval2);
echo "Total interval: ", $f->diff($e)->format("%H:%I"), "\n";</code>

完整的代码示例:

<code class="php">$a = new DateTime('14:25');
$b = new DateTime('17:30');
$interval1 = $a->diff($b);
echo "interval 1: ", $interval1->format("%H:%I"), "\n";

$c = new DateTime('08:00');
$d = new DateTime('13:00');
$interval2 = $c->diff($d);
echo "interval 2: ", $interval2->format("%H:%I"), "\n";

$e = new DateTime('00:00');
$f = clone $e;
$e->add($interval1);
$e->add($interval2);
echo "Total interval: ", $f->diff($e)->format("%H:%I"), "\n";</code>

另一个方法是扩展 DateInterval 类并自定义 add() 函数,以自己计算总时长:

<code class="php">class MyDateInterval extends DateInterval
{
    //...
}

$a = new DateTime('14:25');
$b = new DateTime('17:30');
$interval1 = $a->diff($b);
echo "interval 1: ", $interval1->format("%H:%I"), "\n";

$c = new DateTime('08:00');
$d = new DateTime('13:00');
$interval2 = $c->diff($d);
echo "interval 2: ", $interval2->format("%H:%I"), "\n";
            
$e = MyDateInterval::fromDateInterval($interval1);
$e->add($interval2);
echo "Total interval: ", $e->format("%H:%I"), "\n";</code>

这只是通过自定义类实现自定义时间间隔的一种方法。

以上是如何在 PHP 中添加两个时间间隔?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn