Available on crate feature
std only.Expand description
Lightweight datetime utilities for ISO 8601 parsing,
relative time formatting, and duration calculations.
No external datetime crate required. Requires std.
Lightweight datetime utilities for ISO 8601 parsing,
relative time formatting, and duration calculations.
No external dependencies — uses only std::time.
§Quick Start
use cmn::datetime::DateTime;
// Parse ISO 8601
let dt = DateTime::parse("2026-04-05T14:30:00Z").unwrap();
assert_eq!(dt.year(), 2026);
assert_eq!(dt.month(), 4);
assert_eq!(dt.day(), 5);
assert_eq!(dt.hour(), 14);
assert_eq!(dt.minute(), 30);
// Format back to ISO 8601
assert_eq!(dt.to_iso8601(), "2026-04-05T14:30:00Z");
// Duration between two datetimes
let dt2 = DateTime::parse("2026-04-05T16:30:00Z").unwrap();
let dur = dt2.duration_since(&dt);
assert_eq!(dur.whole_seconds(), 7200);
assert_eq!(dur.whole_hours(), 2);Structs§
- Date
Time - A date and time with optional UTC offset.
- Duration
- A signed duration between two
DateTimevalues.
Enums§
- Parse
Error - Errors returned by
DateTime::parse.