Tage eines Monats
Elmo
- php
0 wahsaga0 seth
0 Der Martin0 Tom0 Tom
Hallo allesamt.
Wie kann ich mir in PHP ausgeben lassen, wie viel Tage z.B. der Monat Februar 2006 hat?
liebe Grüße
Elmo
hi,
Wie kann ich mir in PHP ausgeben lassen, wie viel Tage z.B. der Monat Februar 2006 hat?
Schau bei date() nach.
gruß,
wahsaga
gudn tach!
Wie kann ich mir in PHP ausgeben lassen, wie viel Tage z.B. der Monat Februar 2006 hat?
Schau bei date() nach.
und zwar im manual. in "Table 1. The following characters are recognized in the format parameter string" ist das zeichen t, was du vermutlich suchst.
prost
seth
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
Hello,
Wie kann ich mir in PHP ausgeben lassen, wie viel Tage z.B. der Monat Februar 2006 hat?
Vielleicht klappt es so:
<?php ### daysofmonth.php ###
$year = 2006;
$month = 'February';
$day = 5;
$numdays = date('t',strtotime("$month $day $year"));
echo "$month $year hat $numdays Tage";
?>
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
kleiner Nachtrag:
Denk dran, dass das nur von 1970 bis 2037 einschließlich sicher funktioniert.
Je nach PHP-Version arbeiten die Zeitfunktionen auch mit negativen Timestamps. Allerdings muss man dann noch die -1 sicher ausschließen. Das ist der Rückgabewert für "Fehler aufgetreten".
<?php ### daysofmonth.php ###
$month = 'February';
$day = 5;
for ($year = 1950; $year < 2051; $year++)
{
$numdays = date('t',strtotime("$month $day $year"));
echo "$month $year hat $numdays Tage<br>\n";
}
?>
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom