Njia diff ya darasa DateTime

Njia diff ya darasa DateTime inakubali kama parameta kitu kingine cha DateTime na kurudisha kitu cha DateInterval, chenye tofauti kati ya tarehe. Tofauti inaweza kupatikana kwa vitengo mbalimbali vya kipimo (siku, miezi, miaka, n.k).

Syntax

php$interval = $datetime1->diff($datetime2);

Mfano

Tuhesabu tofauti kati ya tarehe mbili:

php<?php
  $date1 = new DateTime('2023-01-01');
  $date2 = new DateTime('2023-02-15');
  $interval = $date1->diff($date2);
  echo $interval->format('%R%a days');
?>

Matokeo ya utekelezaji wa kodi:

php'+45 days'

Mfano

Tupate tofauti kwa miezi na siku:

php<?php
  $date1 = new DateTime('2023-03-10');
  $date2 = new DateTime('2023-05-25');
  $interval = $date1->diff($date2);
  echo $interval->format('%m months %d days');
?>

Matokeo ya utekelezaji wa kodi:

php'2 months 15 days'

Mfano

Kulinganisha tarehe kwa kuzingatia wakati:

php<?php
  $date1 = new DateTime('2023-01-01 10:00:00');
  $date2 = new DateTime('2023-01-01 14:30:00');
  $interval = $date1->diff($date2);
  echo $interval->format('%h hours %i minutes');
?>

Matokeo ya utekelezaji wa kodi:

php'4 hours 30 minutes'

Angalia pia

  • kitendo date,
    kinachoboresha tarehe na wakati
  • kitendo strtotime,
    kinachobadilisha mfuatano wa herufi kuwa mwishio wa wakati
  • darasa DateInterval,
    linalowakilisha muda wa tarehe