The go-to library for all your date and time parsing needs.
Any unimplemented notation the standard supports is considered a bug.
Chrono support is included.
Version 1.0.0 will be reached when the entire standard is implemented.
Chrono support is very limited at the moment. Contributions would very welcome, should be a low-hanging fruit.
Basics:
```rust use std::str::FromStr; use iso_8601::*;
asserteq!( Date::fromstr("2018-08-02").unwrap(), Date::YMD(YmdDate { year: 2018, month: 8, day: 2, }) );
asserteq!( LocalTime::fromstr("13:42").unwrap(), LocalTime { naive: HmTime { hour: 13, minute: 42, }, fraction: 0., } );
// Parse any date, time, or datetime expression without knowing what it is:
asserteq!( PartialDateTime::fromstr("12:30").unwrap(), PartialDateTime::Time(ApproxAnyTime::HM(AnyTime::Local(LocalTime { naive: HmTime { hour: 12, minute: 30, }, fraction: 0., }))) );
asserteq!( PartialDateTime::fromstr("2018-08").unwrap(), PartialDateTime::Date(ApproxDate::YM(YmDate { year: 2018, month: 8, })) );
asserteq!( PartialDateTime::fromstr("20180802T1230").unwrap(), PartialDateTime::DateTime(DateTime { date: ApproxDate::YMD(YmdDate { year: 2018, month: 8, day: 2, }), time: ApproxAnyTime::HM(AnyTime::Local(LocalTime { naive: HmTime { hour: 12, minute: 30, }, fraction: 0., })) }) ); ```
Chrono support:
```rust extern crate chrono;
use std::str::FromStr; use iso_8601::*;
fn main() {
asserteq!(
chrono::DateTime::