The builtin datetime module provides classes for points in time (date, and
datetime) as well as durations (timedelta), but it does not account for
time durations at a specific point. This module provides Interval, which
contains a start and end date or datetime, and a duration timedelta.
This is useful for representing calendar events. This module also provides
PeriodicInterval which can be used for recurring events, by containing a
period timedelta and a count of occurrences (either an int or forever).
- Interval
isoformatmethod (start/end).- This wouldn't work on PeriodicInterval, as recurring intervals have a different semantics in ISO 8601.
- Property-based testing with
props - Add operators for PeriodicInterval (*, [])
- How to account for e.g. every Tuesday and Thursday