| 

.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.
News:
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!