public DateDiff( DateTime date1, DateTime date2, Calendar calendar, DayOfWeek firstDayOfWeek, YearMonth yearBaseMonth = TimeSpec.CalendarYearStartMonth) { if ( calendar == null ) { throw new ArgumentNullException( "calendar" ); } this.calendar = calendar; this.yearBaseMonth = yearBaseMonth; this.firstDayOfWeek = firstDayOfWeek; this.date1 = date1; this.date2 = date2; difference = date2.Subtract( date1 ); }