首頁  >  文章  >  後端開發  >  如何在 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