Datum berechnen YYYY-MM-DD

Gray

Erfahrenes Mitglied
ich habe ein Datum im Format YYYY-MM-DD
jetzt will ich errechnen welches Datum es ist, wenn es ein Jahr später und eine Monat früher ist.

zB. aus 2004-10-12 wird 2005-09-12
 
Eine Möglichkeit wäre z. B. das Datum aufzusplitten und dann den Teil mit dem Jahr um 1 zu erhöhen und den Monat um 1 zu verringern. Es sei denn der Monat ist 01, dann würde das Jahr gleich bleiben und der Monat auf 12 gesetzt werden.
Und dann fügst Du die einzelnen Bereiche wieder zu einem Datum zusammen.

redlama
 
Versuch's mal unter in Hilfenahme der strtotime()-Funktion:
PHP:
<?php
	echo date('Y-m-d', strtotime('+1 year -1 month'));
?>
 
Zuletzt bearbeitet:
Danke, aber das ist noch nicht ganz die lösung, den das Datum wird aus einer DB gelesen und das muss kontroliert werden ob das Datum bereits drüber ist.
 
vielleicht hilft dir das ja weiter:
du kannst die differenz zwischen den beiden datumswerten berechnen
oder
du machst es nach der "julianischen tage ermitteln" methode. => gregoriantojd()

die julianische methode gefällt mir besser da sie die sommerzeit abweichung mit ein bezieht.
 
Ich benötige doch nochmal Hilfe und zwar hier ein Bsp.: habe das Datum 2004-04-31 und das muss zu 2005-03-31 werden, wie kann ich das machen?
 
ich versteh nicht worauf du hinaus willst aber vielleicht hilft dir das weiter:
Code:
SELECT name, datum, date_format(datum + INTERVAL 11 MONTH, "%Y-%m-%d") as 11_monate_spaeter FROM `members`
alternativ könnte ich noch
Code:
if ($datum == '2004-04-31') { $datum = '2005-03-31'; }
anbieten, aber ich glaube das hilft dir nicht weiter.
 
Zurück