Expand description
Primitive date range helpers.
These helpers work with inclusive date ranges built from valid calendar dates.
§Examples
use use_date::CalendarDate;
use use_date_range::{DateRange, intersection, overlaps};
let start = CalendarDate::new(2024, 1, 1).unwrap();
let end = CalendarDate::new(2024, 1, 3).unwrap();
let range = DateRange::new(start, end).unwrap();
let other = DateRange::new(CalendarDate::new(2024, 1, 3).unwrap(), CalendarDate::new(2024, 1, 5).unwrap()).unwrap();
assert!(range.contains(CalendarDate::new(2024, 1, 2).unwrap()));
assert_eq!(range.duration_days(), 2);
assert!(overlaps(range, other));
assert_eq!(intersection(range, other).unwrap().start(), CalendarDate::new(2024, 1, 3).unwrap());