DateTimePeriod ICalculateDateTimePeriod <Date> .Until(Date value) { var later = value.ToDateTime(); if (later < _date) { throw new ArgumentOutOfRangeException("value"); } return(DateTimePeriod.Between(_date, later)); }
DateTimePeriod ICalculateDateTimePeriod <Date> .Years(int value) { return(0 == value ? new DateTimePeriod(_date, _date) : DateTimePeriod.Between(_date, _date.AddYears(value).AddDays(value > 0 ? -1 : 1))); }
DateTimePeriod ICalculateDateTimePeriod <Date> .Weeks(int value) { return(0 == value ? new DateTimePeriod(_date, _date) : DateTimePeriod.Between(_date, AddWeeks(value).ToDateTime().AddDays(value > 0 ? -1 : 1))); }
DateTimePeriod ICalculateDateTimePeriod <Date> .Between(Date value) { return(DateTimePeriod.Between(_date, value.ToDateTime())); }