ホームページ  >  記事  >  バックエンド開発  >  PHP で 2 つの時間間隔を追加するには?

PHP で 2 つの時間間隔を追加するには?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 02:51:02200ブラウズ

How to Add Two Time Intervals in PHP?

PHP で 2 つの時間間隔を追加します

PHP で、2 つの時間間隔の合計期間を計算し、時間単位で合計したいとします。分形式で表示する場合、これら 2 つの間隔を追加する必要があります。ただし、PHP の DateInterval クラスにはオーバーロードされた演算子がないため、直接追加することはできません。

これを実現するには、新しい DateTime オブジェクトを作成し、add() 関数を使用して 2 つの間隔を追加し、基準点からの時差を表示する必要があります。

<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>

Fullコード例:

<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>

もう 1 つの方法は、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 で 2 つの時間間隔を追加するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。