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

来源:互联网 发布:时时彩冷热数据分析 编辑:程序博客网 时间:2024/04/30 07:27
代码如下

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;

}

/// <summary>
/// 根据星期英文返回数字星期几
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
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;
}


0 0
原创粉丝点击