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);
}
C#中计算时间段内工作日期
最新推荐文章于 2022-06-25 10:28:32 发布