计算某时间段含有假期的天数

来源:互联网 发布:php tp框架分页源代码 编辑:程序博客网 时间:2024/05/25 20:01
/// <summary>
        /// 计算某时间段含有假期的天数
        /// </summary>
        /// <param name="date">开始时间</param>
        /// <param name="date1">结束时间</param>
        /// <returns></returns>
        public int JSjqDay(DateTime date,DateTime date1)
        {
            int day = 0;  //假期的天数
            DateTime resultDate1 = date1;
            DateTime dateNow;
            string connStr = ConfigurationManager.AppSettings["ExFlowConnStr"];
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                //type:1,节日 2,工作日
                string SQL = "select date,type from exnewframe..ExHoliday where year >= " + date.Year.ToString();
                SqlDataAdapter adp = new SqlDataAdapter(SQL, conn);
                DataTable dt = new DataTable();
                adp.Fill(dt);
                dateNow = DateTime.Now;
                int n = (date - dateNow).Days; 
                //resultTmp = GetNewDate2(date, dt, ref date1);
                try
                {
                    //Response.Write("<script>alert(\"" + (DateTime.Compare(date, date1) <= 0 )+ "\");</script>");
                    while (DateTime.Compare(date, date1) <= 0)
                    {
                        if (date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday) //周末
                        {
                            if (dt.Select("type=2 and date='" + date.ToString("yyyy-MM-dd 00:00:00.000") + "'").Length > 0) //在工作日中
                            {
 
                            }
                            else //不在工作日
                            {
                                day++;
                            }
                        }
                        else //不是周末
                        {
                            //LogForYiDongBanGong.WriteLog(result.ToString("yyyy-MM-dd 00:00:00.000") + "||" + trnTime.ToString("yyyy-MM-dd") + "||" + "在节日表中");
                            if (dt.Select("type=1 and date='" + date.ToString("yyyy-MM-dd 00:00:00.000") + "'").Length > 0) //在节日表中
                            {
                                day++;
                            }
                            else //不在节日表中
                            {
                            }
                        }
                        date = date.AddDays(1);
                    }
                }
                catch (Exception ex)
                {
                    Response.Write("786:" + ex.Message);
                
            }
 
            //Response.Write("<script>alert(\"" + date + "||" + date1 + "day" + day + "\");</script>");
            return day;
        }
原创粉丝点击