using System.Globalization;
GregorianCalendar cal = new GregorianCalendar();
int weekNum;
weekNum = cal.GetWeekOfYear(new DateTime(2007, 12, 30),
CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
// returns 52 (OK)
weekNum = cal.GetWeekOfYear(new DateTime(2007, 12, 31),
CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
// returns 53 (*** correct is 1 ***)
weekNum = cal.GetWeekOfYear(new DateTime(2008, 1, 1),
CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
// returns 1 (OK)