How do you calculate Daylight Savings Time in C# with DateTime.Now? DST starts on the Second Sunday in March. And ends on the first Sunday in November. These can be calculated thru the DayOfWeek in DateTime.
DayOfWeek dow; string p = "3" + "/" + dy.ToString() + "/" + yr.ToString() + " " + "3" + ":" + mn.ToString() + ":" + sc.ToString(); DateTime start = DateTime.Parse(p); p = "11" + "/" + dy.ToString() + "/" + yr.ToString() + " " + "1" + ":" + mn.ToString() + ":" + sc.ToString(); DateTime end = DateTime.Parse(p); DateTime current; for (dys = 1; dys <= 17; dys++) { p = "3" + "/" + dys.ToString() + "/" + yr.ToString() + " " + "3" + ":" + mn.ToString() + ":" + sc.ToString(); current = DateTime.Parse(p); dow = current.DayOfWeek; if ((mo == 3) && (aaa == 0) && (dow == DayOfWeek.Sunday)) { aaa = 1; } if ((aaa == 1) && (dow == DayOfWeek.Sunday)) { start = DateTime.Parse(p); aaa = 2; } } for (dye = 1; dye <= 14; dye++) { p = "11" + "/" + dye.ToString() + "/" + yr.ToString() + " " + "1" + ":" + mn.ToString() + ":" + sc.ToString(); current = DateTime.Parse(p); dow = current.DayOfWeek; if ((mo == 11) && (bbb == 0) && (dow == DayOfWeek.Sunday)) { bbb = 1; end = DateTime.Parse(p); } } if ((start >= DateTime.Now) && (end <= DateTime.Now)) { dsts = 0; } else { dsts = 1; }