Heim > Backend-Entwicklung > PHP-Tutorial > Wie erstelle ich in PHP ein Array von Daten zwischen zwei angegebenen Daten?

Wie erstelle ich in PHP ein Array von Daten zwischen zwei angegebenen Daten?

DDD
Freigeben: 2024-12-30 08:09:10
Original
160 Leute haben es durchsucht

How to Generate an Array of Dates Between Two Given Dates in PHP?

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' );
Nach dem Login kopieren

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' )
Nach dem Login kopieren

Lösung

Dieser Code verwendet zwei Ansätze, um ein Array von Daten zwischen zwei angegebenen Daten zu generieren:

  1. Verwenden von a Schleife:

    • Erstellen Sie ein neues DateTime-Objekt für das Startdatum.
    • Iterieren Sie vom Startdatum bis zum Enddatum und erhöhen Sie den Tag bei jeder Iteration um eins.
    • Fügen Sie jedes Datum zu einem hinzu Array.
  2. Verwenden der DatePeriod-Klasse:

    • Erstellen Sie ein neues DatePeriod-Objekt mit dem Start- und Enddatum und a Tagesintervall.
    • Iterieren Sie das DatePeriod-Objekt mit einem foreach Schleife.
    • Konvertieren Sie jedes DateTime-Objekt in eine Zeichenfolge im gewünschten Format.

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;
}
Nach dem Login kopieren

Beispiel Verwendung

$dates = getDatesFromRange('2010-10-01', '2010-10-05');
print_r($dates);
Nach dem Login kopieren

Ausgabe

Array ( [0] => 2010-10-01 [1] => 2010-10-02 [2] => 2010-10-03 [3] => 2010-10-04 [4] => 2010-10-05 )
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage