Berechnung der Kalenderwoche mit date() und strftime()
Prof. Dr. Dr. Sakkkkarre
- php
Vieleicht intressiert das Jemand:
beide Zeile liefern unterschiedlich Ergebinsse
echo date( "W", mktime(12, 0, 0, 1, 1, 2010)) . " \n";
echo strftime("%W", mktime(12, 0, 0, 1, 1, 2010)) . " \n";
Hi!
Vieleicht intressiert das Jemand:
beide Zeile liefern unterschiedlich Ergebinsse
echo date( "W", mktime(12, 0, 0, 1, 1, 2010)) . " \n";
echo strftime("%W", mktime(12, 0, 0, 1, 1, 2010)) . " \n";
Es wäre ein Fehler, wenn sie es nicht täten. Das W bei date() steht für die Wochennummer nach ISO-8601 (die erste Woche ist die mit mindestens 4 Wochentagen im neuen Jahr), beim %W bei strftime() hingegen ist die erste Woche die mit dem ersten Montag. Wenn du da auch die ISO-Wochenzählung haben willst, dann ist dafür das %V vorgesehen.
Die Formatbuchstaben bei date() und strftime() sind nicht 1:1 austauschbar.
Lo!
Hi!
Die Formatbuchstaben bei date() und strftime() sind nicht 1:1 austauschbar.
Ja, da hust du wohl recht - mich überraschte aber vor allem, das dem
Datum einmal die nullte Woche zugrunde liegt, dass andere mal wird
die letze Woche des vergangen Jahres ausgegeben.
Aber die "ISO irgendwas" werde ich drswegen wohl nicht lesen :-)
Hi!
Aber die "ISO irgendwas" werde ich drswegen wohl nicht lesen :-)
Musst du auch nicht. Nur wissen, dass man eben in Deutschland die Wochen danach nummeriert und die Woche mit 4 Tagen im neuen Jahr die erste ist. Oder anders gesagt, der erste Donnerstag im neuen Jahr liegt in der ersten Woche. Andere Zählweisen, andere Formatbuchstaben. Das ist alles bei den jeweiligen Funktionen im PHP-Handbuch nachzulesen (vorzugsweise im englischen Original, das gruppiert die Formatbuchstaben nach Funktion.)
Lo!
Hello,
Aber die "ISO irgendwas" werde ich drswegen wohl nicht lesen :-)
Nee, es reicht, wenn Du deine Doktortitel wieder abgibst :-P
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Aber die "ISO irgendwas" werde ich drswegen wohl nicht lesen :-)
Nee, es reicht, wenn Du deine Doktortitel wieder abgibst :-P
Nichts leichter als das, viele Grüße, Prof. Sakkkkarre
Hallo
beide Zeile liefern unterschiedlich Ergebinsse
echo date( "W", mktime(12, 0, 0, 1, 1, 2010)) . " \n";
echo strftime("%W", mktime(12, 0, 0, 1, 1, 2010)) . " \n";
Dann probiere es mit `strftime("%W", mktime(12, 0, 0, 1, 1, 2010))`{:.language-php} und lese die Beschreibungen von "W" bei [date](http://de3.php.net/manual/de/function.date.php) sowie "%V" und "%W" bei [strftime](http://de3.php.net/strftime).
Tschö, Auge
--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
[Veranstaltungsdatenbank Vdb 0.3](http://termindbase.auge8472.de/)
Hallo
Dann probiere es mit
strftime("%V", mktime(12, 0, 0, 1, 1, 2010))
...
Tschö, Auge