PHP で 2 つの日付範囲を追加する方法
時間と分の合計期間を計算するために 2 つの日付範囲を追加することは、多くの質問で問題になりますPHPプログラマー向け。これを行う方法を理解してみましょう。
問題の説明
ユーザーは、時間と分の形式で合計期間を取得するために、次の方法で 2 つの日付間隔を追加したいと考えています:
<code class="php">$a = new DateTime('14:25'); $b = new DateTime('17:30'); $interval1 = $a->diff($b); echo "interval 1 : " . $interval1->format("%H:%I"); echo "<br />"; $c = new DateTime('08:00'); $d = new DateTime('13:00'); $interval2 = $c->diff($d); echo "interval 2 : " . $interval2->format("%H:%I"); echo "<br />"; echo "Total interval : " . ($interval1 + $interval2);</code>
質問の回答
PHP には演算子のオーバーロードがないため、オブジェクトにオブジェクトを追加するとき、PHP は最初にそれらを文字列に変換しようとしますが、DateInterval はこの操作をサポートしていません。
この問題を解決するには、別のメソッドを使用する必要があります:
コード例
上記のメソッドを使用したコード例を次に示します:
<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>
出力:
interval 1: 03:05 interval 2: 05:00 Total interval : 08:05
代替アプローチ (カスタム DateInterval)
さらに詳しく知りたい場合は、独自の DateInterval 拡張機能を作成し、加算演算を再定義することも検討できます。これはより高度なアプローチであり、PHP 拡張機能の開発についての深い理解が必要です。
以上がPHP で 2 つの日付間隔を追加して合計時間を求める方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。