110,566
社区成员
发帖
与我相关
我的任务
分享
int getDays(DateTime d1, DateTime d2)
{
int count = 0;
while (!d1.Equals(d2))
{
int i = (int)d1.DayOfWeek;
if (i == 0 || i == 6)
{
count++;
}
d1 = d1.AddDays(1);
}
return count;
}
public int TotalWorkday(DateTime AStart, DateTime AEnd)
{
TimeSpan vTimeSpan = new TimeSpan(AEnd.Ticks - AStart.Ticks);
// 跨度多少个星期,每个星期五个工作日
int Result = ((int)vTimeSpan.TotalDays / 7) * 5;
// 计算余下的日期中的工作日
for (int i = 0; i <= vTimeSpan.TotalDays % 7; i++)
switch (AStart.AddDays(i).DayOfWeek)
{
case DayOfWeek.Saturday:
case DayOfWeek.Sunday:
break;
default:
Result++;
break;
}
return Result;
} /* TotalWorkday */
private void button1_Click(object sender, EventArgs e)
{
Text = TotalWorkday(new DateTime(2007, 9, 1),
new DateTime(2007, 10, 1)).ToString();
}