Skip to main content

Module datetime

Module datetime 

Source
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§

DateTime
A date and time with optional UTC offset.
Duration
A signed duration between two DateTime values.

Enums§

ParseError
Errors returned by DateTime::parse.