设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP.NET

计算两个日期之间有多少个工作日的方法(同理也可以计算有多少个双休日)

作者:佚名 出处:网络转载 时间:08-19 点击:

内容载入中...
您的支持我们的动力 吴龙杰
/**//// <summary>
/// 计算两个日期之间的工作日数,(星期6,星期天,不算工作日)dt1和dt2之间相隔多少工作日,其中dt3-dt4的时间为公休日,这里公休日可以用以个数组,或者从一个XML表里面读取,以便扣除
/// </summary>
/// <param name="dt1">要计算的起始时间</param>
/// <param name="dt2">要计算的结束时间</param>
/// <param name="dt3">公休起始时间</param>
/// <param name="dt4">公休结束时间</param>
/// <returns>intReturn</returns>

private int DifferDate(DateTime dt1,DateTime dt2,DateTime dt3,DateTime dt4)
{
int intReturn=0;//返回值,即dt2和dt1之间的工作日数

System.TimeSpan tsDiffer
=dt2.Date-dt1.Date;//计算dt2和dt1之间相差多少天
int intDiffer=tsDiffer.Days;//相差天数的int值
for(int i=0;i<intDiffer;i++)//从dt1开始一天天加,判断临时的日期值是不是星期六或星期天,如果既不是星期六,也不是星期天,而且也不在dt3和dt4之间,则该天为工作日,intReturn加1
{
    DateTime dtTemp
=dt1.Date.AddDays(i);
    
if((dtTemp.DayOfWeek!=System.DayOfWeek.Sunday) && (dtTemp.DayOfWeek!=System.DayOfWeek.Saturday))
    
{
        
if((dtTemp.Date<dt3.Date) || (dtTemp.Date>dt4.Date))
        
{
            intReturn
++;
        }

    }

    
}

return intReturn;

}

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息