コード例 #1
0
        public int BusinessDaysBetweenTwoDates(DateTime firstDate, DateTime secondDate, IList <DateTime> publicHolidays)
        {
            if (isStartDateAfterEndDate(firstDate, secondDate))
            {
                return(0);
            }

            int businessDaysBetweenTwoDates = 0;

            for (var day = firstDate.Date.AddDays(1); day < secondDate; day = day.AddDays(1))
            {
                if (WeekdayChecker.isWeekDay(day) && isNotHoliday(day, publicHolidays))
                {
                    businessDaysBetweenTwoDates++;
                }
            }

            return(businessDaysBetweenTwoDates);
        }
コード例 #2
0
        public DateTime getPublicHoliday(int year)
        {
            DateTime holiday = new DateTime(year, this._month, this._day);

            return(WeekdayChecker.isWeekDay(holiday) ? holiday : (this._shouldMoveIfFallOnWeekend ? getNextMonday(holiday) : holiday));
        }
コード例 #3
0
        public void isWeekDay_InputDate_ReturnIsMondayToFriday(DateTime date, bool expected)
        {
            var actual = WeekdayChecker.isWeekDay(date);

            Assert.Equal(expected, actual);
        }