DateTime-luokan diff-metodi

DateTime -luokan diff -metodi ottaa parametrina toisen DateTime -objektin ja palauttaa DateInterval -objektin, joka sisältää päivämäärien välisen eron. Ero voidaan saada eri mittayksiköissä (päivät, kuukaudet, vuodet jne.).

Syntaksi

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

Esimerkki

Lasketaan kahden päivämäärän välinen ero:

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

Koodin suorituksen tulos:

php'+45 days'

Esimerkki

Saadaan ero kuukausina ja päivinä:

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');
?>

Koodin suorituksen tulos:

php'2 months 15 days'

Esimerkki

Päivämäärien vertailu ottaen huomioon ajan:

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');
?>

Koodin suorituksen tulos:

php'4 hours 30 minutes'

Katso myös

  • funktion date,
    joka muotoilee päivämäärän ja ajan
  • funktion strtotime,
    joka muuntaa merkkijonon aikaleimaksi
  • luokan DateInterval,
    joka edustaa päivämäärien välistä aikaväliä