public static void Main(string[] args) { DateTimeWeekNumber dtwn = new DateTimeWeekNumber(DateTime.Parse("2006-12-31")); Console.WriteLine("ISO standards sample (2006-12-31):"); Console.WriteLine($"ISOWeekNoExtended: {dtwn.ISOWeekNoExtended}"); Console.WriteLine($"ISOWeekNoCompact : {dtwn.ISOWeekNoCompact}"); Console.WriteLine($"WeekNoExtended : {dtwn.WeekNoExtended}"); Console.WriteLine($"WeekNoCompact : {dtwn.WeekNoCompact}"); Console.WriteLine(); dtwn = new DateTimeWeekNumber(DateTime.Now); Console.WriteLine($"Today ({DateTime.Now.ToString("yyyy-MM-dd")}):"); Console.WriteLine($"DayNo : {dtwn.DayNo} ({DateTime.Now.DayOfWeek})"); Console.WriteLine($"WeekNo : {dtwn.WeekNo}"); Console.WriteLine($"WeekNoString2 : {dtwn.WeekNoString2}"); Console.WriteLine($"YearNo : {dtwn.YearNo}"); Console.WriteLine($"Today (ToString) : {dtwn.ToString()}"); Console.WriteLine(); Console.WriteLine($"WeekNoCompact : {dtwn.WeekNoCompact}"); Console.Write("\nPress any key..."); Console.ReadKey(); }
public static DateTime?WeekNoCompactToDate(string reference) { int Year = -1; int.TryParse(reference.Substring(0, 2), out Year); if (Year == -1) { return(null); } Year = Year + 2000; int Week = -1; int.TryParse(reference.Substring(2, 2), out Week); if (Week == -1) { return(null); } int Day = -1; int.TryParse(reference.Substring(4, 1), out Day); if (Day == -1) { return(null); } DateTime ThisYear = new DateTime(Year, 1, 1); DateTimeWeekNumber dwn = new DateTimeWeekNumber(ThisYear); //Begin of the week ThisYear = ThisYear.AddDays(1 - dwn.DayNo); int Days = (Week - 1) * 7 + (Day - 1); return(ThisYear.AddDays(Days)); }