Der Martin: Tage eines Monats

Beitrag lesen

Hallo Elmo,

Wie kann ich mir in PHP ausgeben lassen, wie viel Tage z.B. der Monat Februar 2006 hat?

ich weiß nicht, ob ich deine Absicht ganz richtig verstanden habe - aber ich würde das für eine allgemeine Lösung im ersten Schritt einfach über ein Array lösen:

$month = array(31,28,31,30,31,30,31,31,30,31,30,31);

Nun kommt für den Februar natürlich noch die Schaltjahr-Problematik dazu. Ein Schaltjahr haben wir, wenn die Jahreszahl durch 4, aber nicht durch 100 teilbar ist, aber doch wieder, wenn die Jahreszahl durch 400 teilbar ist. Das ganze in einen handlichen Ausdruck verpackt:

$isleapyear = ( (($year%4)==0 && ($year%100)!=0) || ($year%400)==0 )

Diese Formel kann man natürlich kompakter schreiben, ich habe hier bewusst die ausführliche Schreibweise gewählt, damit das Prinzip besser sichtbar bleibt.

Das ganze würde ich nun in eine Funktion packen, die zunächst die Anzahl der Tage des gefragten Monats aus dem Array holt, dann abfragt, ob es sich um ein Schaltjahr handelt, und falls ja, das Ergebnis um eins erhöht.

So long,
 Martin

--
Der Alptraum jedes Computers:
"Mir war, als hätte ich gerade eine 2 gesehen."