Ich habe eine Variable namens $effectiveDate
mit dem Datum 2012-03-26 .
Ich versuche, diesem Datum drei Monate hinzuzufügen, und bin dabei nicht erfolgreich gewesen.
Folgendes habe ich versucht:
$effectiveDate = strtotime("+3 months", strtotime($effectiveDate));
und
$effectiveDate = strtotime(date("Y-m-d", strtotime($effectiveDate)) . "+3 months");
Was mache ich falsch? Keiner der Codes funktionierte.
1340649000
als Antwort, was richtig zu sein scheint.$effectiveDate
speichert, was Sie denken, dass es speichert? Es funktioniert bei mir .date('Y-m-d', 1340661600)
gibt2012-06-26
was richtig ist.Antworten:
Wenn Sie dies ändern, erhalten Sie das erwartete Format:
quelle
"+ '$months' months"
funktioniert nicht$offset = 5; echo date('Y-m-d', strtotime("+$offset months", strtotime('2000-01-01')));
DemoDiese Antwort ist nicht genau auf diese Frage. Aber ich werde dies hinzufügen, da diese Frage noch durchsuchbar ist, wie der Zeitraum vom Datum hinzugefügt / abgezogen werden kann.
quelle
Ich gehe davon aus, dass mit "hat nicht funktioniert" gemeint ist, dass Sie anstelle des formatierten Datums einen Zeitstempel erhalten, weil Sie es richtig gemacht haben:
quelle
Tchoupis Antwort kann etwas weniger ausführlich formuliert werden, indem das Argument für strtotime () wie folgt verkettet wird:
(Dies hängt von den Details der magischen Implementierung ab, aber Sie können sie sich jederzeit ansehen, wenn Sie zu Recht misstrauisch sind.)
quelle
Sie müssen das Datum in einen lesbaren Wert umwandeln. Sie können strftime () oder date () verwenden.
Versuche dies:
Das sollte funktionieren. Ich mag es besser, strftime zu verwenden, da es für die Lokalisierung verwendet werden kann, die Sie vielleicht ausprobieren möchten.
quelle
Folgendes sollte funktionieren. Bitte versuchen Sie Folgendes:
quelle
Folgendes sollte funktionieren
quelle
Fügen Sie n-te Tage, Monate und Jahre hinzu
quelle
Folgendes sollte funktionieren, aber möglicherweise müssen Sie das Format ändern:
quelle