如何在 PHP 中加入兩個時間間隔?

Mary-Kate Olsen
發布: 2024-11-04 02:51:02
原創
198 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!