Øhh - antal uger i år xxxx i GregorianCalendar

Tags:    .net

Hej,

Er der et problem med beregning af antal uger i år xxxx??

Nedenstående skulle gerne finde sidste uge nr. i år 2000->2010
For år 2003 angives at der er 53, i min kalender er der kun 52??
Flere andre år går også galt...

GregorianCalendar cal = new GregorianCalendar();
for(int i = 2000; i < 2010; i++)
{
DateTime date = new DateTime(i, 12, 31);
int week= cal.GetWeekOfYear(date,
CalendarWeekRule.FirstFourDayWeek,
DayOfWeek.Monday);

Debug.WriteLine( String.Format("Sidste uge i år {0:0} er {1:0}", date.Year, week));
}

Har jeg misforstået noget, eller er det en bug ??




2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Det er sikkert ikke en bug, men din papirkalender er sikkert dansk mens din .NET GregorianCalender er Amerikansk.... de har en halv til en hel uge mere end os om året...

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Det er sikkert ikke en bug, men din papirkalender er sikkert dansk mens din .NET GregorianCalender er Amerikansk....

Tjooo - men hvorfor give os muligheden for at sætte en GregorianCalendarType på i ctor ??

Hvis frameworket kan holde styr på så mange andre localized ting og sager - hvorfor så ikke antal uger i året - det er lidt træls...

Desuden er min reference kalender Outlook 2003 - som jo bekendt også er udviklet af MS :)



t