zoukankan      html  css  js  c++  java
  • 计算两个日期之间的工作日数

    /**//**//**//// <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;

    }

    记住该记住的,忘记该忘记的,改变能改变的,接受不能改变的!
  • 相关阅读:
    读取.properties配置文件的方式
    使用二维数组打印10行的杨辉三角
    【三】Django模版的使用
    【二】Django 视图和url配置
    初学Django
    Java ------ 工厂模式、单例模式
    总结各种排序算法【Java实现】
    MyBatis --- 动态SQL、缓存机制
    MyBatis --- 映射关系【一对一、一对多、多对多】,懒加载机制
    SSM框架搭建
  • 原文地址:https://www.cnblogs.com/yuanermen/p/537040.html
Copyright © 2011-2022 走看看