Angenommen, ich habe ein Datum im folgenden Format: 2010-12-11 (Jahr-Montag)
Mit PHP möchte ich das Datum um einen Monat erhöhen und das Jahr bei Bedarf automatisch erhöhen (dh von Dezember 2012 bis Januar 2013 erhöhen).
Grüße.
$time = strtotime("2010.12.11");
$final = date("Y-m-d", strtotime("+1 month", $time));
// Finally you will have the date you're looking for.
Ich brauchte ähnliche Funktionen, bis auf einen monatlichen Zyklus (plus Monate, minus 1 Tag). Nachdem ich eine Weile nach SO gesucht hatte, konnte ich diese Plug-n-Play-Lösung entwickeln:
Beispiel:
quelle
Verwenden Sie
DateTime::add
.Ich habe Klon verwendet, weil add das ursprüngliche Objekt ändert, was möglicherweise nicht erwünscht ist.
quelle
Dies gibt einen Zeitstempel zurück, der mit der Datumsfunktion verwendet werden kann
quelle
$time
einen Anfangswert).Dies wird den Februar und die anderen 31-Tage-Monate kompensieren. Sie könnten natürlich viel mehr nachsehen, um die relativen Datumsformate für "diesen Tag im nächsten Monat" genauer zu bestimmen (was leider nicht funktioniert, siehe unten), und Sie könnten genauso gut DateTime verwenden.
Beide
DateInterval('P1M')
undstrtotime("+1 month")
addieren im Wesentlichen blind 31 Tage, unabhängig von der Anzahl der Tage im folgenden Monat.quelle
Sie können
DateTime::modify
wie folgt verwenden:Siehe Dokumentationen:
http://php.net/manual/fr/datetime.modify.php
http://php.net/manual/fr/class.datetime.php
quelle
Ich benutze diesen Weg: -
quelle
Bitte stellen Sie zuerst Ihr Datumsformat wie 12-12-2012 ein
Nach Verwendung dieser Funktion funktioniert es ordnungsgemäß.
Hier ist der 12-12-2012 Ihr Datum und +2 Monate ist das Inkrement des Monats.
Sie erhöhen auch das Jahr und das Datum
Ans ist 12-12-2013
quelle
Danke Jason, dein Beitrag war sehr hilfreich. Ich habe es neu formatiert und weitere Kommentare hinzugefügt, um alles besser zu verstehen. Falls das jemandem hilft, habe ich es hier gepostet:
quelle
Wenn Sie um Tage erhöhen möchten, können Sie dies auch tun
quelle
Aktualisieren Sie einfach die Antwort mit einer einfachen Methode, um das Datum nach einer Anzahl von Monaten zu finden. Da die beste markierte Antwort nicht die richtige Lösung ergibt.
quelle
Anwendungsbeispiele:
quelle
Für alle, die eine Antwort auf ein beliebiges Datumsformat suchen.
Ändern Sie einfach das Datumsformat.
quelle
Geben Sie ein Datum in das Eingabefeld ein und klicken Sie in jquery auf die Schaltfläche Tag vom Datum abrufen
quelle
quelle
Alle vorgestellten Lösungen funktionieren nicht richtig.
strtotime () und DateTime :: add oder DateTime :: modify führen manchmal zu ungültigen Ergebnissen.
Beispiele:
- 31.08.2019 + 1 Monat ergibt 01.10.2019 statt 30.09.2019
- 29.02.2020 + 1 Jahr ergibt 01.03.2021 statt 28.02.2021
(getestet auf PHP 5.5, PHP 7.3)
Unten ist meine Funktion basierend auf einer Idee von Angelo , die das Problem löst:
Anwendungsbeispiele:
quelle