time_range
time_range extends chrono to provide two range types: DateRange and TimeRange. They are used to represent a range of dates or datetimes and encapsulate related functionality, such as iteration, intersection, unioning, etc.
Usage
TimeRange
use ;
// create from start and end bounds
let start_at = Utc.ymd.and_hms
let end_at = Utc.ymd.and_hms;
let time_range = new;
println!; // TimeRange[2024-03-01T12:00:00+00:00 -> 2024-03-13T11:59:59+00:00]
// parse from a string
let time_range = parse?;
// export back into a string
println!; // 2024-03-24T12:00:00+00:00/2024-03-25T11:59:59+00:00
DateRange
use ;
// create from start and end bounds
let start_at = from_ymd;
let end_at = from_ymd;
let date_range = new;
println!; // DateRange[2024-03-01 -> 2024-03-13]
// parse from a string
let date_range = parse.unwrap;
println!; // DateRange[2024-03-20 -> 2024-03-24]
// export back into a string
println!; // 2024-03-20/2024-03-24
Operations
Pairwise operations are available on both types:
- contains
- encapsulates
- intersects
- intersection
- union
- difference
- symmetric_difference