| 

.NET C# Java Javascript Exception

4
Hallo,

ich möchte mittels GetWeekOfYear die Kalenderwoche zu einem Datum ermitteln.

System.Globalization.Calendar myCalendar = CultureInfo.InvariantCulture.Calendar;

DateTime LastDay = new System.DateTime(2014, 12, 31);
Console.WriteLine("Kalenderwoche für {1}: {0}", myCalendar.GetWeekOfYear(LastDay, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday), LastDay);

DateTime Day = new System.DateTime(2014, 12, 29);
Console.WriteLine("Kalenderwoche für {1}: {0}", myCalendar.GetWeekOfYear(Day, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday),Day);

DateTime FirstDay = new System.DateTime(2015, 01, 01);
Console.WriteLine("Kalenderwoche für {1}: {0}", myCalendar.GetWeekOfYear(FirstDay, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday),FirstDay);

DateTime Day1 = new System.DateTime(2015, 01, 05);
Console.WriteLine("Kalenderwoche für {1}: {0}", myCalender.GetWeekOfYear(Day1, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday),Day1);

//Kalenderwoche für 31.12.2014 00:00:00: 53
//Kalenderwoche für 29.12.2014 00:00:00: 53
//Kalenderwoche für 01.01.2015 00:00:00: 1
//Kalenderwoche für 05.01.2015 00:00:00: 2


Kann mir jemand erklären, warum für die ersten beiden Daten KW 53 ermittelt wird?

29.12.2014, 31.12.2014 und 01.01.2015 liegen doch in der selben KW??
Bin für jeden Hinweis dankbar.
13.03.2014
mrmee 745 1 8
1 Antwort
2
Hier wird die Problematik ISO 8601 vs. .Net Wochen-Nummerierung beschrieben:

http://blogs.msdn.com/b/shawnste/archive/2006/01/24/iso-8601-week-of-year-format-in-microsoft-net.aspx
13.03.2014
Roland Bär 335 6
Super, das hat mir weitergeholfen!
mrmee 14.03.2014

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH