C#中计算时间段内工作日期
来源:互联网 发布:免费医疗软件 编辑:程序博客网 时间:2024/04/30 20:22
static void Main(string[] args) { DateTime dt1 = Convert.ToDateTime("2009-01-01"); DateTime dt2 = Convert.ToDateTime("2009-10-08"); int i = 0; for(DateTime d=dt1;d<=dt2;d=d.AddDays(1)) { if (!IsWeekEnd(d) && !IsSpecDay(d)) { i++; } } Console.WriteLine("work days:{0}",i); } static bool IsWeekEnd(DateTime d) { return d.DayOfWeek == DayOfWeek.Saturday || d.DayOfWeek == DayOfWeek.Sunday; } static bool IsSpecDay(DateTime d) { return (d >= new DateTime(d.Year, 5, 1) && d <= new DateTime(d.Year, 5, 7)) || (d >= new DateTime(d.Year, 10, 1) && d <= new DateTime(d.Year, 10, 7)) || d == new DateTime(d.Year, 1, 1); }