Metoden diff i DateTime-klassen

Metoden diff i klassen DateTime tar et annet DateTime-objekt som parameter og returnerer et DateInterval-objekt som inneholder forskjellen mellom datoene. Forskjellen kan hentes i forskjellige måleenheter (dager, måneder, år osv.).

Syntaks

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

Eksempel

La oss beregne forskjellen mellom to datoer:

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

Resultat av kjøring av koden:

php'+45 days'

Eksempel

La oss hente forskjellen i måneder og dager:

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

Resultat av kjøring av koden:

php'2 months 15 days'

Eksempel

Sammenligning av datoer med hensyn til tid:

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

Resultat av kjøring av koden:

php'4 hours 30 minutes'

Se også

  • funksjonen date,
    som formaterer dato og tid
  • funksjonen strtotime,
    som konverterer en streng til et tidsstempel
  • klassen DateInterval,
    som representerer et datointervall