Kalenderwoche berechnen

Kalenderwoche berechnen

Das folgende kurze Snippet berechnet anhand der Woche und des Jahres den ersten Tag einer Kalenderwoche.
Dabei wird die aktuell eingestellte Kultur beachtet.

public static DateTime FirstDateOfWeek(int weekNumber, int year)
{
    DateTime firstJanuary = new DateTime(year, 1, 1);

    int week = CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(firstJanuary,
        CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule,
        CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek);

    int addDays = -1;
    if (week > 50)
    {
        addDays = 1;
    }

    while (firstJanuary.DayOfWeek != CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek)
    {
        firstJanuary = firstJanuary.AddDays(addDays);
    }

    return firstJanuary.AddDays((weekNumber - 1) * 7);
}

Vielleicht kann es ja der ein oder andere gebrauchen. smile
Um einen Kommentar zu hinterlassen, ist eine Anmeldung erforderlich.