Single line in Linq This gets you the number of weekdays, i.e., Monday to Friday between given two dates.
DateTime dt1 = new DateTime(2011, 1, 1);
DateTime dt2 = new DateTime(2011, 1, 15);
int days = (from d in (Enumerable.Range(0, 1 + dt2.Subtract(dt1).Days).Select(offset => dt1.AddDays(offset)).ToArray())where d.DayOfWeek >= DayOfWeek.Monday & d.DayOfWeek <= DayOfWeek.Friday1).Sum;
You can easily modify it to get the count of a particular day as,
DateTime dt1 = new DateTime(2011, 1, 1);
DateTime dt2 = new DateTime(2011, 1, 15);
int days = (from d in (Enumerable.Range(0, 1 + dt2.Subtract(dt1).Days).Select(offset => dt1.AddDays(offset)).ToArray())where d.DayOfWeek == DayOfWeek.Monday).Sum;
DateTime dt1 = new DateTime(2011, 1, 1);
DateTime dt2 = new DateTime(2011, 1, 15);
int days = (from d in (Enumerable.Range(0, 1 + dt2.Subtract(dt1).Days).Select(offset => dt1.AddDays(offset)).ToArray())where d.DayOfWeek >= DayOfWeek.Monday & d.DayOfWeek <= DayOfWeek.Friday1).Sum;
You can easily modify it to get the count of a particular day as,
DateTime dt1 = new DateTime(2011, 1, 1);
DateTime dt2 = new DateTime(2011, 1, 15);
int days = (from d in (Enumerable.Range(0, 1 + dt2.Subtract(dt1).Days).Select(offset => dt1.AddDays(offset)).ToArray())where d.DayOfWeek == DayOfWeek.Monday).Sum;
No comments:
Post a Comment