Anzahl der Tage eines Monats
Rainer
- php
0 luti0 Rainer0 Cheatah0 Rainer1 Vinzenz Mai0 Rainer0 Vinzenz Mai
0 hotti0 suit
0 Felix Riesterer
Hallo,
mit echo date("t"); bekomme ich die Anzahl der Tage des aktuellen Monats angezeigt. Soweit so gut ;-)
Was muss ich schreiben wenn ich die Anzahl der Tage vom Monat 07 aus dem Jahr 2008 haben möchte. Finde absolut keinen Ansatz.
Gruß Rainer
Hallo,
erstelle einfach ein Datum, dass im 7. Monat des Jahres 2008 liegt und gebe es dann so formatiert aus, wie Du vorgeschlagen hast ...
Grüße, luti
mit echo date("t"); bekomme ich die Anzahl der Tage des aktuellen Monats angezeigt. Soweit so gut ;-)
Was muss ich schreiben wenn ich die Anzahl der Tage vom Monat 07 aus dem Jahr 2008 haben möchte. Finde absolut keinen Ansatz.
Hallo luti,
ich bekomme es nicht auf die Reihe 8[
Gibt es irgendwo ein Beispiel zum ansehen?
Gruß Rainer
Hi,
ich bekomme es nicht auf die Reihe 8[
was hast Du versucht, und woran bist Du gescheitert?
Cheatah
Hallo,
date(); gibt mir ja nur ein formatiertes Datum zurück.
Bsp: echo date("Y-m-d");
Ausgabe: 2009-02-11
Ich komm nicht darauf wie ich date() z.Bsp. Jahr 2008 Monat 07 übergeben kann um mit date("t"); die Anzahl der Tage dieses Monats zu erhalten.
Bin ich der Func. date() evtl. total auf dem Holzweg?
Gruß Rainer
Hallo,
date(); gibt mir ja nur ein formatiertes Datum zurück.
Bsp: echo date("Y-m-d");
Ausgabe: 2009-02-11Ich komm nicht darauf wie ich date() z.Bsp. Jahr 2008 Monat 07 übergeben kann um mit date("t"); die Anzahl der Tage dieses Monats zu erhalten.
date() kennt einen optionalen zweiten Parameter. Die Handbuchseite gibt zusätzlich Hinweise, die genau Dein Problem betreffen.
Bin ich der Func. date() evtl. total auf dem Holzweg?
Nein.
Freundliche Grüße
Vinzenz
Hallo,
eben schon probiert - aber weder
echo date("t",2008-07-01); noch echo date("t","2008-07-01");
gibt mir das richtige zurück. Muss der 2. Parameter (timestamp) ein anderes Format haben?
Gruß Rainer
Hallo,
echo date("t",2008-07-01); noch echo date("t","2008-07-01");
gibt mir das richtige zurück. Muss der 2. Parameter (timestamp) ein anderes Format haben?
ja, steht doch auf der verlinkten Handbuchseite. date() erwartet als zweiten Parameter eine Integer, nicht eine Zeichenkette. Was Du benutzen kannst, steht in den Hinweisen, auf die ich Dich extra hingewiesen hatte.
Freundliche Grüße
Vinzenz
Hi,
»» echo date("t",2008-07-01); noch echo date("t","2008-07-01");
ja, steht doch auf der verlinkten Handbuchseite. date() erwartet als zweiten Parameter eine Integer, nicht eine Zeichenkette.
der Integer ist im ersten o.g. Beispiel gegeben, lässt sich aber kürzer schreiben: date("t", 2000);
Cheatah
der Integer ist im ersten o.g. Beispiel gegeben, lässt sich aber kürzer schreiben: date("t", 2000);
Natürlich ist 2000 int, das Jahr 2000 ist aber wohl nicht mit der Ganzzahl "2000" zu kennzeichnen, denn gemäß Dokumentation erwartet date() als zweiten Parameter einen timestamp.
"Returns a string formatted according to the given format string using the given integer timestamp or the current time if no timestamp is given"
wenn man aus dem Jahr 2000 nun einen timestamp machen möchte, kann man die "timestamp machen"-funktion aka. maketime aka. mktime() verwenden
Hallo suit!
»» der Integer ist im ersten o.g. Beispiel gegeben, lässt sich aber kürzer schreiben: date("t", 2000);
Natürlich ist 2000 int, das Jahr 2000 ist aber wohl nicht mit der Ganzzahl "2000" zu kennzeichnen, denn gemäß Dokumentation erwartet date() als zweiten Parameter einen timestamp.
Ja, es ist schwer, Cheatah zu verstehen... ;)
Viele Grüße aus Frankfurt/Main,
Patrick
Hi,
»» der Integer ist im ersten o.g. Beispiel gegeben, lässt sich aber kürzer schreiben: date("t", 2000);
Natürlich ist 2000 int, das Jahr 2000 ist aber wohl nicht mit der Ganzzahl "2000" zu kennzeichnen,
das hat der OP aber gemacht (und dabei nicht mal das Jahr 2000 gemeint, vermute ich). Siehe auch Patricks Antwort ;-)
Cheatah
Hallo Cheatah!
das hat der OP aber gemacht (und dabei nicht mal das Jahr 2000 gemeint, vermute ich). Siehe auch Patricks Antwort ;-)
Wobei... was hättest Du geantwortet, wenn der OP 2009-09-09 angegeben hätte? Ich kenne PHP nicht, aber Perl meint, ich wäre irgendwie illegal ;)
Viele Grüße aus Frankfurt/Main,
Patrick
echo $begrüßung;
Wobei... was hättest Du geantwortet, wenn der OP 2009-09-09 angegeben hätte? Ich kenne PHP nicht, aber Perl meint, ich wäre irgendwie illegal ;)
2009. Eine ungültige Oktalzahl wird unter PHP ohne weitere Hinweise zu 0.
echo "$verabschiedung $name";
Hallo dedlfix!
- Eine ungültige Oktalzahl wird unter PHP ohne weitere Hinweise zu 0.
Oh, PHP legitimiert die Illegalität? ;)
Viele Grüße aus Frankfurt/Main,
Patrick
Hallo,
Was muss ich schreiben wenn ich die Anzahl der Tage vom Monat 07 aus dem Jahr 2008 haben möchte. Finde absolut keinen Ansatz.
Bau Dir ein Array:
undef 31 28 31 30 31 30 31 31 30 31 30 31
0 1 2 3 4 5 6 7 8 9 10 11 12
Bei [2] musst Du nur noch schauen, ob ein Schaltjahr vorliegt, dann hat der Februar 29 Tage.
Hotte
Bei [2] musst Du nur noch schauen, ob ein Schaltjahr vorliegt, dann hat der Februar 29 Tage.
Wie nun schon 2x in diesem Thread von verschiedenen Seiten erwähnt wurde, ist tendentiell mktime() das mittel der Wahl.
Lieber Rainer,
Was muss ich schreiben wenn ich die Anzahl der Tage vom Monat 07 aus dem Jahr 2008 haben möchte. Finde absolut keinen Ansatz.
also ich hatte hier im Forum einmal eine schöne Funktion gefunden:
function days_in_month($month, $year) {
// calculate number of days in a month with Gregorian calender
return $month == 2 ? ($year % 4 ? 28 : ($year % 100 ? 29 : ($year % 400 ? 28 : 29))) : (($month - 1) % 7 % 2 ? 30 : 31);
}
Liebe Grüße,
Felix Riesterer.
echo $begrüßung;
also ich hatte hier im Forum einmal eine schöne Funktion gefunden:
Sehr interessant, ich wusste bis jetzt beispielsweise noch nicht, dass der 13. Monat dieses Jahres 30 Tage hat.
Warum was eigenes schreiben, wenn es mit der Kombination date(), mktime() und wenn benötigt einer Wertebereichsprüfung für den Monat einfacher geht?
echo "$verabschiedung $name";
Lieber dedlfix,
| also ich hatte hier im Forum einmal eine schöne Funktion gefunden:
Sehr interessant, ich wusste bis jetzt beispielsweise noch nicht, dass der 13. Monat dieses Jahres 30 Tage hat.
Mist, das muss ich noch einbauen. Das kommt davon, wenn man das nicht genauestens nachprüft.
Warum was eigenes schreiben, wenn es mit der Kombination date(), mktime() und wenn benötigt einer Wertebereichsprüfung für den Monat einfacher geht?
Ich hatte immer die Funktion cal_days_in_month() benutzt, aber irgendwie ist die nicht auf allen Webspaces verfügbar. Darum hatte ich mich nach einer griffigen Alternative umgesehen.
Liebe Grüße,
Felix Riesterer.
echo $begrüßung;
Ich hatte immer die Funktion cal_days_in_month() benutzt, aber irgendwie ist die nicht auf allen Webspaces verfügbar. Darum hatte ich mich nach einer griffigen Alternative umgesehen.
Stimmt, die Kalenderfunktionen gibt es ja auch noch. Dass sie nicht bei allen Providern vorhanden sind, liegt sicher daran, dass sie optional einzubinden sind.
echo "$verabschiedung $name";
hi,
»» | also ich hatte hier im Forum einmal eine schöne Funktion gefunden:
»»
»» Sehr interessant, ich wusste bis jetzt beispielsweise noch nicht, dass der 13. Monat dieses Jahres 30 Tage hat.Mist, das muss ich noch einbauen. Das kommt davon, wenn man das nicht genauestens nachprüft.
Wieso einbauen? Die Funktion ist ok. Du musst halt nur vorher dafür sorgen, dass dämliche Benutzereingaben nicht zum Tragen kommen ;)
Hotte