Методи diff класса DateTime

Методи diff класса DateTime ҳамчун параметр объекти дигари DateTime-ро қабул карда ва объекти DateInterval-ро бармегардонад, ки фарқи байни санаҳоро дар бар мегирад. Фарқро дар воҳидҳои гуногуни ченкунӣ (рӯзҳо, моҳҳо, солҳо ва ғайра) ба даст овардан мумкин аст.

Синтаксис

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

Мисол

Фарқи байни ду санаро ҳисоб мекунем:

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

Натиҷаи иҷрои код:

php'+45 days'

Мисол

Фарқро бо моҳҳо ва рӯзҳо ба даст меорем:

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

Натиҷаи иҷрои код:

php'2 months 15 days'

Мисол

Мукосимаи санаҳо бо назардошти вақт:

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

Натиҷаи иҷрои код:

php'4 hours 30 minutes'

Ҳамчунин нигаред

  • функсияи date,
    ки сана ва вақтро формат мекунад
  • функсияи strtotime,
    ки сатрро ба нишонаи вақт табдил медиҳад
  • класси DateInterval,
    ки фосилаи санаҳоро ифода мекунад