Aktuelles Datum + 2 Monate
Schrieb ich dieses Stück code, um das aktuelle Datum + 2 Monate :
<?php
$date = date("d/m/Y");
$date = strtotime(date("d/m/Y", strtotime($date)) . "+2 months");
$date = date("d/m/Y",$date);
echo $date;
?>
Scheint es nicht zu funktionieren, da es zeigt : 01/03/1970.
Was mache ich falsch?
Vielen Dank für Ihre Hilfe.
EDIT :
Nach dem Lesen der Kommentare und Antworten, die ich vereinfacht und korrigiert es.
<?php
$date = date("d/m/Y", strtotime(" +2 months"));
echo $date;
?>
Versuchen Sie, einen Platz vor Ihrer
Rückgabewert überprüfen hilft auch.
+2
. Und vielleicht verwenden Sie zwei Variablen mit der gleichen Variablen-Namen über und über für die verschiedenen Arten von Daten ist verwirrend und eine schlechte Praxis.Rückgabewert überprüfen hilft auch.
InformationsquelleAutor morgi | 2012-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihnen fehlt das zweite argument für die zweite
strtotime()
nennen:InformationsquelleAutor Alix Axel
Versuchen, mit den DateTime-Objekt:
Warum ist diese Antwort nicht relevant ist? Einfach nur neugierig, @StanislavShabalin
Um ehrlich zu sein, ich kann mich nicht erinnern, oder es herausfinden, fünf Jahre später :–) Vielleicht, weil warum verwenden Sie
DateTime
wenn Sie bereitsstrtotime
und es ist in Ordnung, nur fix einen Tippfehler, wie in der akzeptierten Antwort.InformationsquelleAutor John Conde
Wenn heute "YYYY-mm-31" und im nächsten Monat nicht den 31ten Tag,
es wird sich zeigen, die nächsten Monat, Tag, stellen Sie die system-Anzeige "+3 Monate" Ergebnis statt "+2 Monate" Ergebnis.
So, ich denke, das ist die Sicherheit:
Ändern Sie das Datum auf den 1. Tag der erste.
InformationsquelleAutor Fenix Lam
Mit DateTime->addieren() oder DateTime->ändern()
Wenn Sie arbeiten mit einer bestehenden DateTime-Objekt, können Sie eine von diesen benutzen:
Vorsicht hinzufügen Monate in PHP, kann es überlauf auf den nächsten Monat, wenn der Tag in dem ursprünglichen Datum ist höher als die Gesamtzahl der Tage in den neuen Monat. Gleichen überlauf passiert mit den Schaltjahren beim hinzufügen von Jahren. Irgendwie ist das nicht als bug von PHP-Entwickler und ist nur dokumentiert, ohne Lösung. Mehr hier:
PHP DateTime::modify addieren und subtrahieren von Monaten
Ich fand, dass das die meisten zu-Punkt-Lösung, die overflow-problem:
InformationsquelleAutor Alph.Dev