Example #1
0
        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();
        }
Example #2
0
        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));
        }