Η Κλάση DatePeriod

Η κλάση DatePeriod δημιουργεί μια ακολουθία ημερομηνιών μεταξύ του αρχικού και του τελικού σημείου με ένα συγκεκριμένο διάστημα. Δέχεται παραμέτρους: την αρχική ημερομηνία ως αντικείμενο DateTime, το διάστημα ως αντικείμενο DateInterval, τον αριθμό των επαναλήψεων ή την τελική ημερομηνία. Επιτρέπει την επανάληψη όλων των ημερομηνιών στο καθορισμένο εύρος.

Σύνταξη

phpnew DatePeriod(DateTime $start, DateInterval $interval, int $recurrences);
phpnew DatePeriod(DateTime $start, DateInterval $interval, DateTime $end);

Παράδειγμα

Ας δημιουργήσουμε μια περίοδο από 5 ημερομηνίες με διάστημα 1 ημέρα:

php<?php
  $start = new DateTime('2025-01-01');
  $interval = new DateInterval('P1D');
  $period = new DatePeriod($start, $interval, 4);
  
  foreach ($period as $date) {
    echo $date->format('Y-m-d') . '<br>';
  }
?>

Αποτέλεσμα εκτέλεσης του κώδικα:

php'2025-01-01'
'2025-01-02'
'2025-01-03'
'2025-01-04'
'2025-01-05'

Παράδειγμα

Ας δημιουργήσουμε μια περίοδο μεταξύ δύο ημερομηνιών με διάστημα 1 εβδομάδα:

php<?php
  $start = new DateTime('2025-01-01');
  $end = new DateTime('2025-02-01');
  $interval = new DateInterval('P1W');
  $period = new DatePeriod($start, $interval, $end);

  foreach ($period as $date) {
    echo $date->format('Y-m-d') . '<br>';
  }
?>

Αποτέλεσμα εκτέλεσης του κώδικα:

php'2025-01-01'
'2025-01-08'
'2025-01-15'
'2025-01-22'
'2025-01-29'

Δείτε επίσης

  • κλάση DateTime,
    για εργασία με ημερομηνία και ώρα
  • κλάση DateInterval,
    για εργασία με διαστήματα ημερομηνιών