Wie man Tage zum Datum in PHP hinzufügt
-
add
Methode inDateTime()
zum Hinzufügen von Tagen in PHP -
date_add()
zum Hinzufügen von Tagen zum Datum in PHP
Die Manipulation von Datum
-Strings in PHP kann auf viele Arten erfolgen, es können Stunden, Monate, Jahre usw. hinzugefügt oder abgezogen werden. PHP bietet verschiedene Funktionen wie DateTime
, date_add
und die Kombination von strtotime()
und date()
.
add
Methode in DateTime()
zum Hinzufügen von Tagen in PHP
Bei Verwendung von PHP Version 5.3 und höher kann auch das DateTime
-Objekt und seine add
-Methode eine Lösung sein. DateTime
unterstützt mehr Datumsformate als strtotime
und date
. Ein Objekt zu benutzen ist auch einfacher als beliebige Funktionen. Wenn zum Beispiel zwei Daten verglichen werden, ist es direkt in DateTime
, aber in strtotime
ist es notwendig, das Datum zuerst in einen Zeitstempel umzuwandeln.
Beispiel:
<?php
$oldDate = "2020-02-27";
$newDate = new DateTime($oldDate);
$newDate->add(new DateInterval('P1D')); // P1D means a period of 1 day
$fomattedDate = $date->format('Y-m-d');
?>
Der folgende Code wird die Ausgabe ausgeben:
echo $fomattedDate; //output: 2020-02-28
Der schwierige Teil der Verwendung von DateTime()
ist das DateInterval
-Objekt. Dieses akzeptiert eine gültige Intervall-Spezifikation. Das richtige Format beginnt mit dem Buchstaben P
, was Periode
bedeutet, gefolgt von einem ganzzahligen Wert, dann D
für den Tag. Wenn die Dauer die Zeit ist, muß der letzte Teil T
sein.
Kombination von strtotime()
und date()
, um in PHP Tage zum Datum hinzuzufügen
Die strtotime()
ist eine PHP-Funktion, die verwendet wird, um eine englische textuelle Datumsbeschreibung in einen UNIX-Zeitstempel zu konvertieren. Die Funktion strtotime
akzeptiert einen Zeichenkettenwert, der Datum und Zeit repräsentiert.
Beispiel:
<?php
$oldDate = "2020-02-27";
$date1 = date("Y-m-d", strtotime($oldDate.'+ 1 days'));
$date2 = date("Y-m-d", strtotime($oldDate.'+ 2 days'));
?>
Der folgende Code wird ausgegeben:
echo $date1; //output: 2020-02-28
echo $date2; //output: 2020-02-29
Das obige Beispiel akzeptiert eine Datumszeichenkette mit dem richtigen Format und gibt das neue Datum unter Verwendung von strtotime
und +1 Tage
zurück. Die Funktion date()
gab das richtige Format zurück.
Bemerkung: Um Unklarheiten zu vermeiden, wird empfohlen, das Format ISO 8601 (JJJJ-MM-TT)
zu verwenden.
date_add()
zum Hinzufügen von Tagen zum Datum in PHP
Dieser Ansatz ist der einfachste unter den anderen, Tage, Monate, Jahre, Stunden, Minuten und Sekunden hinzuzufügen.
Beispiel:
$oldDate = date_create("2020-02-27");
date_add($oldDate, date_interval_create_from_date_string("1 day"));
In Anwendung:
echo date_format($date,"Y-m-d"); //output: 2020-02-28
Das obige Beispiel fügt ebenfalls Daten zu einem Datums-String hinzu, date_create()
erzeugt ein DateTime-Objekt. date_interval_create_from_date_string()
erstellt ein DateInterval
aus den Teilen der Zeichenkette. Dann schließlich inkrementiert date_add()
den Datumswert.