using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; namespace ISO8601 { public static class Calender { private static CultureInfo culture = CultureInfo.CurrentCulture; private static int CalcDate(DateTime date) { return date.DayOfWeek != DayOfWeek.Sunday ? DayOfWeek.Thursday - date.DayOfWeek : (int)DayOfWeek.Tuesday - 7; } public static int GetYear(DateTime date) { date = date.AddDays(CalcDate(date)); return culture.Calendar.GetYear(date); } public static int GetMonth(DateTime date) { date = date.AddDays(CalcDate(date)); return culture.Calendar.GetMonth(date); } public static int GetWorkWeek(DateTime date) { date = date.AddDays(CalcDate(date)); return culture.Calendar.GetWeekOfYear(date, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday); } } }