取两个日期之间的非工作日的天数(指的是周六、周日)

/// <summary>
        /// 获取两个时间点间公休天数
        /// </summary>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <returns></returns>
        public static int GetHolidayCount(DateTime startDate, DateTime endDate)
        {
            TimeSpan currentTimeSpan = endDate - startDate;

            double timeCompare = currentTimeSpan.TotalDays;
            //DayOfWeek currentDayOfWeek = currentDateTime.DayOfWeek;
            int judgeDayOfWeek = (int)startDate.AddDays(1).DayOfWeek;
            int days = (int)(judgeDayOfWeek + timeCompare);//两个时间点间的间隔天数
            int holidayCount = (days / 7) * 2 + (days % 7) / 6 + ((judgeDayOfWeek == 0) ? 1 : 0);//两个时间点间的周末天数
            
            return holidayCount;
        }

 

posted @ 2013-08-22 10:29  天殇月痕  阅读(720)  评论(0编辑  收藏  举报