private int GetWeekIndex(DateTime start, DateTime current) { DateTime firstWeekStart = CalendarHelper.GetFirstDayOfWeek(start, this.FirstDayOfWeek); TimeSpan fromStart = current.Subtract(firstWeekStart); return(fromStart.Days / 7); }
private static bool MatchDayOrdinalNegative(DateTime date, int dayOrdinal, RecurrenceDays dayOfWeekMask) { DateTime currentDate = CalendarHelper.GetEndOfMonth(date.Year, date.Month); int current = 0; while (date < currentDate) { if (MatchDayOfWeekMask(currentDate, dayOfWeekMask)) { current--; } currentDate = currentDate.AddDays(-1); } return(current == dayOrdinal); }