Men det är väl så här att den 29:de till den 31:a december "bildar" v. 53 år 2003.
mattiasnordin skrev:
Workaround =
<% varShowWeek = DatePart("ww", CDate(varNextWeek+1),2,2)%>
5 svar · 387 visningar · startad av J.N.
HEJ!
Jag får 53 veckor för år 2003 och 2007 när det inte är det med DatePart("WW",DateAdd("WW",+1,måndagen i v52),2,2)
Varför får jag det, [2,2] är ju rätt.
Jag har session.lcid=1053, men det har väl ingen betydelse?
Ska jag behöva kontrollera om det är dessa år och fix-koda mig runt det?
Har ingen kalender för 2007, men hittade en kalender, och det har ingen betydelse att den är tysk!
Men det är väl så här att den 29:de till den 31:a december "bildar" v. 53 år 2003.
mattiasnordin skrev:
Workaround =
<% varShowWeek = DatePart("ww", CDate(varNextWeek+1),2,2)%>
HEJ!
Nej, det är så det inte är, och det är det som gör mig så förbryllad, eftersom jag har satt (2,2) i DatePart, som vi ska ha (måndag är första dag resp fyra dagar i första veckan)
Jag tänker på alla kalendrar och liknande som finns på nätet, har de fixat det, eller vad gör jag fel? Eller har de fel?
Under mitt sökande på dag ur veckonummer hamnade jag på en Lotus Notes-sida som förklarar när det blir v53 på ett "programmeringssätt":
REM "Number of Weeks in Year. Most years have 52 weeks, but years that start on a
Thursday and leapyears that start on a Wednesday have 53 weeks.";
NumberOfWeeksThisYear:=@If( (ISOFirstDayNum=4 | (ISOFirstDayNum=3 &
DaysInYear=366));53;52 );
På ren svenska blir det v53 om sista veckan innehåller fler än tre dagar, men detta är en enklare och snyggare beskrivning som jag ej sett tidigare.
V53 inträffar 2004 och 2009 närmast.
HEJ!
Ingen som har funderat vidare på detta?
Hittade denna kalender på en annan fråga, decempber 2003 resp december 2007 där v53 är fel.
Detta alltså i en kalenderfunktion som jag avsåg i mitt andra inlägg som är väldigt vanlig, och alltså visar fel.
Jodå... det har funderats på ett flertal gånger. Läs mer i denna tråd.
Lösningen på problemet antar jag enklast är att göra en replace på 53 till 1.
HEJ!
Nja, jag tycker inte de kom fram till något, att lägga till ett till aktuell vecka gör ju att övriga blir fel. (Ev saknades lite av lösningen på sidan???)
Att göra en replace på 53 mot 1 löser inte problemet heller, då blir det fel i år och 2009.
Dock är det precis så jag har löst det, fast på datumnivå istället, det blev nämligen krånglig kod på årsnivå.
Men, det löser ju inte problemet. På din länk har du ett citat:
mattiasnordin skrev:
Jag borde få en T-shirt för att jag hittade en bug tycker jag! haha..
Verkar inte som den behöver fixas??? 2003 gick ju förbi, med 53 veckor i vissa länder...