计算工作中请假时间,不计算周六周日

代码如下

public int CountTime(DateTime FromDate, DateTime ToDate)
{

TimeSpan ts = FromDate.Subtract(ToDate).Duration();

Days+= Convert.ToInt32(ts.Days.ToString())-1;
int FromWeek = GetWeek(Convert.ToDateTime(FromDateTime).DayOfWeek.ToString());
int ToWeek = GetWeek(Convert.ToDateTime(ToDateTime).DayOfWeek.ToString());
if (ts.Days + FromWeek > 5)
{
Days -= (ts.Days + FromWeek) / 7 * 2;
if ((ts.Days + FromWeek) % 7 == 6)
{
Days -= 1;
}
}

return Days;

}

///


/// 根据星期英文返回数字星期几
///

///
///
protected int GetWeek(string dt)
{
int week=0;

switch (dt)
{
case "Monday":
week = 1;
break;
case "Tuesday":
week = 2;
break;
case "Wednesday":
week = 3;
break;
case "Thursday":
week = 4;
break;
case "Friday":
week = 5;
break;
case "Saturday":
week = 6;
break;
case "Sunday":
week = 7;
break;
}
return week;
}


你可能感兴趣的:(C#方面)