Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menambah Dua Selang Tarikh dalam PHP?

Bagaimana untuk Menambah Dua Selang Tarikh dalam PHP?

Patricia Arquette
Lepaskan: 2024-11-03 06:02:30
asal
1028 orang telah melayarinya

How to Add Two Date Intervals in PHP?

Cara Menambah Dua Selang Tarikh dalam PHP

PHP tidak menyokong lebihan muatan operator. Objek mula-mula ditukar kepada rentetan apabila menggunakan pengendali penambahan ( ). Walau bagaimanapun, DateInterval tidak menyokong penukaran rentetan.

<code class="php">interval 1: 03:05
interval 2: 05:00
Total interval : 08:05</code>
Salin selepas log masuk

Sebaliknya, cipta objek DateTime baharu, gunakan fungsi add() untuk menambah selang dan hitung perbezaan pada titik rujukan:

<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>
Salin selepas log masuk

Pendekatan Ganti

Memandangkan struktur storan dalaman DateInterval, memanjangkannya dan melaksanakan pengiraan secara manual juga boleh dilakukan:

<code class="php">class MyDateInterval extends DateInterval
{
    public static function fromDateInterval(DateInterval $from)
    {
        return new MyDateInterval($from->format('P%yY%dDT%hH%iM%sS'));
    }
                                  
    public function add(DateInterval $interval)
    {
        foreach (str_split('ymdhis') as $prop)
        {
            $this->$prop += $interval->$prop;
        }
    }
}

$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>
Salin selepas log masuk

Nota: Sambungan DateInterval boleh dilakukan dengan sambungan PHP.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Dua Selang Tarikh dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan