Η μέθοδος diff της κλάσης DateTime
Η μέθοδος diff της κλάσης DateTime δέχεται ως παράμετρο ένα άλλο αντικείμενο DateTime και επιστρέφει ένα αντικείμενο DateInterval, που περιέχει τη διαφορά μεταξύ των ημερομηνιών. Η διαφορά μπορεί να ληφθεί σε διάφορες μονάδες μέτρησης (μέρες, μήνες, χρόνια κ.λπ.).
Σύνταξη
$interval = $datetime1->diff($datetime2);
Παράδειγμα
Ας υπολογίσουμε τη διαφορά μεταξύ δύο ημερομηνιών:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
'+45 days'
Παράδειγμα
Ας πάρουμε τη διαφορά σε μήνες και ημέρες:
<?php
$date1 = new DateTime('2023-03-10');
$date2 = new DateTime('2023-05-25');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
'2 months 15 days'
Παράδειγμα
Σύγκριση ημερομηνιών λαμβάνοντας υπόψη την ώρα:
<?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');
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
'4 hours 30 minutes'
Δείτε επίσης
-
την συνάρτηση
date,
που μορφοποιεί ημερομηνία και ώρα -
την συνάρτηση
strtotime,
που μετατρέπει συμβολοσειρά σε χρονική σήμανση -
την κλάση
DateInterval,
που αντιπροσωπεύει ένα διάστημα ημερομηνιών