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 サイトの他の関連記事を参照してください。