DateTime klassyň diff metodi

DateTime klassyň diff metodi, parametr hökmünde beýleki bir DateTime obýektini kabul edýär we senepler arasyndaky tapawudy öz içine alýan DateInterval obýektini yzyna gaýtarýar. Tapawut dürli ölçeg birliklerinde (günler, aýlar, ýyllar we ş.m.) alynyp bilner.

Sintaksis

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

Mysal

Iki seneň arasyndaky tapawudy hasaplaýalyň:

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

Kodyň ýerine ýetiriliş netijesi:

php'+45 days'

Mysal

Tapawuty aýlar we günlerde alalyň:

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

Kodyň ýerine ýetiriliş netijesi:

php'2 months 15 days'

Mysal

Wagtyny hasaba almak bilen senepleri deňeşdirmek:

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

Kodyň ýerine ýetiriliş netijesi:

php'4 hours 30 minutes'

Şeýle-de görüň

  • date funksiýasyny,
    sene we wagty formatlaýar
  • strtotime funksiýasyny,
    setiri wagt belgisine öwürýär
  • DateInterval klassy,
    sene interwalyny görkezýär