Wochen-Daten anhand von Woche?
Patrick Schröder
- php
Hallo ihr!
Ich habe ein kleines Problem, dass ich für eine Kalenderfunktion in den Griff bekommen muss. Mit den Datums- und Zeitfunktionen kenne ich mich halbwegs aus, schaffe es aber irgendwie nicht, anhand der Wochennummer (1 - 53) und der Tagesnummer (0 - 6) Tagen auch tatsächlichen Daten zuzufügen.
Ich möchte also nach Möglichkeit sagen können, dass die und die Woche ausgewählt ist und die Tage von Montag bis Sonntag mit dem entsprechenden Datum versehen sind. Beispiel anhand der aktuellen Woche wäre also
Woche 3
Montag, 12.1.
Dienstag, 13.1.
Mittwoch, 14.1.
Donnerstag, 15.1.
Freitag, 16.1.
Samstag, 17.1.
Sonntag, 18.1.
Natürlich könne man eine Abfrage schreiben, die sich über locker eine DIN A4-Seite hinziehen würde. Die verschiedenen Formatierungen damit alles passend dasteht sind auch kein Problem.
Mein Problem liegt lediglich aus dem Wochentag und der Wochennummer so eine Woche wie oben zusammen zu basteln.
Ich habe hiezu bisher keine Lösung gefunden. Natürlich soll mir hier niemand die Funktion zusammenbasteln, aber es wäre nett, wenn mir jemand nen Tipp geben könnte, wo ich vielleicht nochmal genauer nachschauen sollte, bzw. einen Tipp geben, wo ich ansetzen kann.
Meine bisherigen Versuche waren leider vergebens (Code leider schon gelöscht).
Vielen Dank an euch!
Gruß Patrick
Hi
Mein Problem liegt lediglich aus dem Wochentag und der Wochennummer so eine Woche wie oben zusammen zu basteln.
$KW = date(W, strtotime("$Datum"));
So klappst bei mir :-)
Gruß
Michimu
Hi Michimu,
ich habe jetzt ne ganze Zeit damit zugebracht, aber noch keine Lösung gefunden.
Heute ist Tag 6 (Samstag) und es ist die Kalenderwoche 3.
Mit deiner Funktion bin ich zwar schon etwas weiter gekommen, aber noch nicht zu dem Ergebnis, als dass ich aus diesen beiden Kompenten den Rest der Woche zusammenbekomme.
Gruß Patrick
hi,
Ich möchte also nach Möglichkeit sagen können, dass die und die Woche ausgewählt ist und die Tage von Montag bis Sonntag mit dem entsprechenden Datum versehen sind. Beispiel anhand der aktuellen Woche wäre also
Michimus vorschlag, strtotime zu benutzen, scheint mir ausbaufähig.
zitat manual:
"Diese Funktion erwartet einen String mit einem Datum im englischen Format und versucht diesen in einen Unix-Timestamp umzuwandeln. Versucht wird dies relativ zu dem Timestamp, den Sie mit now angeben."
http://www.php.net/manual/de/function.strtotime.php
also nimmst du jetzt Michimus vorschlag,
$KW = date("W", strtotime($Datum));
(die schreibweise habe ich jetzt mal verbessert, den ersten parameter W als wirklichen string und nicht als konstante geschrieben, was ansonsten eine warning auswerfen wird, wenn du keine konstante namens W definiert hast; sowie die unsinnigen anführungszeichen beim zweiten patameter enfernt.)
damit hast du jetzt als schon mal die zu $Datum gehörende kalenderwoche.
und mit der im manual beschriebenen strtotime-syntax kannst du auf dein datum jetzt wochen draufrechnen.
wenn dich also die 23 KW interessiert, und $Datum in der 5ten liegt, musst du also 18 wochen draufrechnen:
$in23terKW = strtotime("+18 weeks", strtotime($Datum));
gruss,
wahsaga