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-Key: 288594

Url: https://administrator.de/contentid/288594

Printed on: April 23, 2024 at 15:04 o'clock

Member: colinardo
Solution colinardo Nov 17, 2015 updated at 13:14:54 (UTC)
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
Member: iceget
iceget Nov 17, 2015 at 13:15:14 (UTC)
Goto Top
Vielen Dank Uwe, das war mir eine sehr große Hilfe... Da hätte ich ja noch lange rum probiert...!