Ich habe ein PHP-Datum in Form von 2013-01-22
und möchte das Datum von morgen im gleichen Format erhalten, so zum Beispiel 2013-01-23
.
Wie ist das mit PHP möglich?
Verwenden Sie DateTime
$datetime = new DateTime('tomorrow');
echo $datetime->format('Y-m-d H:i:s');
Oder:
$datetime = new DateTime('2013-01-22');
$datetime->modify('+1 day');
echo $datetime->format('Y-m-d H:i:s');
Oder:
$datetime = new DateTime('2013-01-22');
$datetime->add(new DateInterval("P1D"));
echo $datetime->format('Y-m-d H:i:s');
Oder in PHP 5.4+:
echo (new DateTime('2013-01-22'))->add(new DateInterval("P1D"))
->format('Y-m-d H:i:s');
oder
Hilfelink : STRTOTIME ()
quelle
Da hast du das mit getaggt strtotimekönnen Sie es mit dem
+1 day
Modifikator wie folgt verwenden:Das heißt, es ist eine viel bessere Lösung, DateTime zu verwenden .
quelle
quelle
echo date ('Y-m-d',strtotime('+1 day', strtotime($your_date)));
quelle
Verwendung
DateTime
:Um morgen von jetzt an zu kommen:
Um morgen von einem Date zu bekommen:
Ich hoffe es hilft!
quelle
quelle
Seltsamerweise kann es scheinen, dass es vollkommen gut funktioniert:
date_create( '2016-02-01 + 1 day' );
echo date_create( $your_date . ' + 1 day' )->format( 'Y-m-d' );
Sollte es tun
quelle
Erstens ist es immer ein Schlüssel, korrekte Abstraktionen zu finden. Schlüssel zur Lesbarkeit, Wartbarkeit und Erweiterbarkeit.
Hier ist ein ganz offensichtlicher Kandidat ein
ISO8601DateTime
. Es gibt mindestens zwei Implementierungen: Die erste ist eine analysierte Datums- / Uhrzeitangabe aus einer Zeichenfolge und die zweite ist morgen. Daher können zwei Klassen verwendet werden, und ihre Kombination führt zu (fast) gewünschten Ergebnissen:Beide Objekte haben eine ISO8601-Datums- / Uhrzeitangabe, sodass ihre Textdarstellung nicht genau Ihren Anforderungen entspricht. Der letzte Strich besteht also darin, sie in eine Datumsform zu bringen:
Da Sie eine Textdarstellung benötigen, nicht nur ein Objekt, rufen Sie eine
value()
Methode auf.Weitere Informationen zu diesem Ansatz finden Sie in diesem Beitrag .
quelle
Hier ist die Arbeitsfunktion
quelle
Wobei 86400 die Anzahl der Sekunden an einem Tag ist.
quelle