private bool IsDayOfWeekMatch(int year, int month, int day) { if (HasFlag(CronExpressionFlag.DayOfWeekLast) && !CalendarHelper.IsLastDayOfWeek(year, month, day) || HasFlag(CronExpressionFlag.NthDayOfWeek) && !CalendarHelper.IsNthDayOfWeek(day, _nthdayOfWeek)) { return(false); } if (_dayOfWeek == CronField.DaysOfWeek.AllBits) { return(true); } var dayOfWeek = CalendarHelper.GetDayOfWeek(year, month, day); return(((_dayOfWeek >> (int)dayOfWeek) & 1) != 0); }