Generieren Sie ein Array von Daten zwischen zwei angegebenen Daten in PHP
Dieses PHP-Code-Snippet hilft Ihnen, eine wichtige Aufgabe bei der Datumsmanipulation zu erfüllen: das Generieren ein Array, das alle Daten innerhalb eines angegebenen Bereichs enthält. Dieser Code erreicht dies erfolgreich, indem er den angegebenen Datumsbereich in ein Array von Datumsangaben umwandelt.
Erwartete Eingabe
Die erwartete Eingabe für diesen Code ist ein Datumspaar im Format „JJJJ-MM-TT“. Wenn Sie beispielsweise eine Reihe von Daten zwischen dem 1. Oktober 2010 und dem 5. Oktober 2010 generieren möchten, wäre die Eingabe:
getDatesFromRange( '2010-10-01', '2010-10-05' );
Erwartete Ausgabe
Die erwartete Ausgabe ist ein Array, das alle Daten innerhalb des angegebenen Bereichs enthält. Im obigen Beispiel wäre die Ausgabe:
Array( '2010-10-01', '2010-10-02', '2010-10-03', '2010-10-04', '2010-10-05' )
Lösung
Dieser Code verwendet zwei Ansätze, um ein Array von Daten zwischen zwei angegebenen Daten zu generieren:
Verwenden von a Schleife:
Verwenden der DatePeriod-Klasse:
Code-Implementierung
function getDatesFromRange($startDate, $endDate) { $dates = array(); // Convert the start and end dates to DateTime objects $startDateObj = new DateTime($startDate); $endDateObj = new DateTime($endDate); // Iterate from the start date to the end date, incrementing the day by one each iteration while ($startDateObj <= $endDateObj) { $dates[] = $startDateObj->format('Y-m-d'); $startDateObj->add(new DateInterval('P1D')); } return $dates; }
Beispiel Verwendung
$dates = getDatesFromRange('2010-10-01', '2010-10-05'); print_r($dates);
Ausgabe
Array ( [0] => 2010-10-01 [1] => 2010-10-02 [2] => 2010-10-03 [3] => 2010-10-04 [4] => 2010-10-05 )
Das obige ist der detaillierte Inhalt vonWie erstelle ich in PHP ein Array von Daten zwischen zwei angegebenen Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!