iceget
Goto Top

KW berechnen, was mach ich falsch?

Hallo Community,

ich arbeite an einem kleinen Kalender, und habe folgendes Problem:


Da ich auch eine Wochenansicht in meinem Kalender erstellen möchte, habe ich mich für die Navigation (neben Jahres, Tages undMonatsansicht) via Datum und KW entschlossen.

Als Ausgangsdatum habe ich hier den 05.01.2015. Wenn ich hier eine Woche abziehe und mir die KW anzeigen lassen möchte, erhalte ich die KW 01/2014:

05.01.2015 Minus 1 Woche - KW: 01/2014: date("W/Y",strtotime(date("d-m-Y",strtotime('-1 week',strtotime("05-01-2015")))))
05.01.2016 Minus 1 Woche - KW: 53/2015: date("W/Y",strtotime(date("d-m-Y",strtotime('-1 week',strtotime("05-01-2016")))))

bekomme ich beim 05.01.2016 die KW53 / 2015 zurück, und bei 05.01.2015 die KW 01/2014?

Ziwschen den KWS 02-53 habe ich keinerlei Probleme. Nur eben zwischen erster und letzter KW (aber auch nicht in jedem Jahr...)

Was mache ich falsch? Könnt ihr mir helfen?

Vielen Dank

Content-ID: 288594

Url: https://administrator.de/forum/kw-berechnen-was-mach-ich-falsch-288594.html

Ausgedruckt am: 22.12.2024 um 21:12 Uhr

colinardo
Lösung colinardo 17.11.2015 aktualisiert um 14:14:54 Uhr
Goto Top
Hallo iceget,
die PHP-Doku ist hier etwas unklar, der Grund und die Lösung wird hier erläutert
http://fischerlaender.de/php/php-kalenderwoche-kein-bug-nur-miese-dokum ...
Nimm anstatt Y das kleine o bei date, dann stimmt die Ausgabe.

o	Jahreszahl gemäß ISO-8601. Dies ergibt den gleichen Wert wie Y, außer wenn die ISO-Kalenderwoche (W) zum vorhergehenden oder nächsten Jahr gehört, wobei dann jenes Jahr verwendet wird (in PHP 5.1.0 hinzugefügt).
Grüße Uwe
iceget
iceget 17.11.2015 um 14:15:14 Uhr
Goto Top
Vielen Dank Uwe, das war mir eine sehr große Hilfe... Da hätte ich ja noch lange rum probiert...!