Cara menambah dua julat tarikh dalam PHP
Menambah dua julat tarikh untuk mengira jumlah tempoh jam dan minit adalah masalah untuk banyak Soalan untuk pengaturcara PHP. Mari cuba fahami cara melakukan ini.
Perihalan Masalah
Pengguna ingin menambah dua selang tarikh dengan cara berikut untuk mendapatkan jumlah tempoh dalam format jam dan minit:
<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>
Jawapan Soalan
PHP tidak mempunyai operator lebih muatan, jadi apabila menambah objek dengan objek, PHP akan cuba menukarnya kepada rentetan, tetapi DateInterval tidak menyokong operasi ini.
Untuk menyelesaikan masalah ini, kita perlu menggunakan kaedah lain:
Contoh Kod
Berikut ialah contoh kod menggunakan kaedah di atas:
<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>
Output:
interval 1: 03:05 interval 2: 05:00 Total interval : 08:05
Pendekatan alternatif (DateInterval tersuai)
Jika anda ingin pergi lebih dalam, anda juga boleh mempertimbangkan untuk membuat sambungan DateInterval anda sendiri dan mentakrifkan semula operasi penambahan. Ini adalah pendekatan yang lebih maju yang memerlukan pemahaman yang mendalam tentang pembangunan sambungan PHP.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Dua Selang Tarikh dalam PHP untuk Mencari Jumlah Tempoh Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!