PHP Heute in zwei Monaten der Erste vom darauffolgenden Monat
PHP und Datum. Das hab ich noch nie gemocht...
Also liebe Kollegen und Kolleginnen.
Folgendes ist mein Problem. Ich suche ein bestimmtes Datum mit PHP. Das gesuchte Datum beschreibt sich so:
heute + 2 Monate, dann auf den Ersten vom darauffolgenden Monat springen.
Beispiele:
Beispiel 1:
06.07.2010 (heute) + 2 Monate = 06.09.2010.
Der Erste vom darauffolgenden Monat: 01.10.2010 < -- das suche ich
Beispiel 2:
28.07.2010 (heute) + 2 Monate = 28.09.2010
Der Erste vom darauffolgenden Monat: 01.10.2010 < -- das suche ich
Beispiel 3 (Achtung!):
01.07.2010 (heute) + 2 Monate = 01.09.2010
Der Erste vom darauffolgenden Monat: 01.10.2010 < -- das suche ich
Ich hoffe jemand kann mir schnell und unkompliziert helfen (was ja hier eigentlich immer der Fall ist )
Grüsse und besten Dank, tom
Also liebe Kollegen und Kolleginnen.
Folgendes ist mein Problem. Ich suche ein bestimmtes Datum mit PHP. Das gesuchte Datum beschreibt sich so:
heute + 2 Monate, dann auf den Ersten vom darauffolgenden Monat springen.
Beispiele:
Beispiel 1:
06.07.2010 (heute) + 2 Monate = 06.09.2010.
Der Erste vom darauffolgenden Monat: 01.10.2010 < -- das suche ich
Beispiel 2:
28.07.2010 (heute) + 2 Monate = 28.09.2010
Der Erste vom darauffolgenden Monat: 01.10.2010 < -- das suche ich
Beispiel 3 (Achtung!):
01.07.2010 (heute) + 2 Monate = 01.09.2010
Der Erste vom darauffolgenden Monat: 01.10.2010 < -- das suche ich
Ich hoffe jemand kann mir schnell und unkompliziert helfen (was ja hier eigentlich immer der Fall ist )
Grüsse und besten Dank, tom
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 146350
Url: https://administrator.de/forum/php-heute-in-zwei-monaten-der-erste-vom-darauffolgenden-monat-146350.html
Ausgedruckt am: 22.12.2024 um 11:12 Uhr
3 Kommentare
Neuester Kommentar
Moin solaris-ch,
PHP ist ja nicht gerade mein Spezialgebiet, und ich habe auch keinerlei Verdacht, was Dani da mit der wohl undokumentieren date("01")-Bypass-Lösung versucht,
Aber wo ich Dani Recht gebe - den sorgfältig bebilderter Beispielreigen lässt auch für mich nur den Schluss zu, dass eine einfache Addition von 3 Monaten in Kombination mit dem Setzen des Tages auf 1 ausreicht.
Nicht dieses "(heute+2 Monate)+ noch einen Monat aber auf den 1. zurück"
Also nach meinem ästhetischen Empfinden sollte es so reichen:
Das (theoretische) Problem, dass mktime() vielleicht bei einer Berechnung im Oktober 2010 dann mit dem Datum "mktime( 0,0,0, 10+3, 1, 2010)" nicht klarkommen könnte - > da hätte ich keine Bedenken.
Da wird schon statt dem 1.13.2010 der 1.1.2011 rausfallen.
Grüße
Biber
PHP ist ja nicht gerade mein Spezialgebiet, und ich habe auch keinerlei Verdacht, was Dani da mit der wohl undokumentieren date("01")-Bypass-Lösung versucht,
Aber wo ich Dani Recht gebe - den sorgfältig bebilderter Beispielreigen lässt auch für mich nur den Schluss zu, dass eine einfache Addition von 3 Monaten in Kombination mit dem Setzen des Tages auf 1 ausreicht.
Nicht dieses "(heute+2 Monate)+ noch einen Monat aber auf den 1. zurück"
Also nach meinem ästhetischen Empfinden sollte es so reichen:
echo date("d.m.Y", mktime(0,0,0, date("m")+3, 1, date("Y")));
Da wird schon statt dem 1.13.2010 der 1.1.2011 rausfallen.
Grüße
Biber