#chrono #time #toml #serde

toml-datetime-compat

Simple conversion of toml_datetime types from/to chrono and time

5 unstable releases

new 0.3.0 Apr 21, 2024
0.2.0 Jan 15, 2023
0.1.2 Jan 11, 2023
0.1.1 Jan 11, 2023
0.1.0 Jan 11, 2023

#951 in Encoding

Download history 15/week @ 2024-02-26 12/week @ 2024-03-04 23/week @ 2024-03-11 21/week @ 2024-04-01 191/week @ 2024-04-08 121/week @ 2024-04-15

333 downloads per month

MIT license

32KB
635 lines

toml-datetime-compat

Adds a functionality to easily convert between toml_datetime's and chrono's/time's types.

Both with the serde derive macros:

#[derive(Deserialize, Serialize)]
struct SomeDateTimes {
    #[serde(with = "toml_datetime_compat")]
    chrono_naive_date: chrono::NaiveDate,
    #[serde(with = "toml_datetime_compat")]
    chrono_naive_time: chrono::NaiveTime,
    #[serde(with = "toml_datetime_compat")]
    chrono_naive_date_time: chrono::NaiveDateTime,
    #[serde(with = "toml_datetime_compat")]
    chrono_date_time_utc: chrono::DateTime<chrono::Utc>,
    #[serde(with = "toml_datetime_compat")]
    chrono_date_time_offset: chrono::DateTime<chrono::FixedOffset>,
    #[serde(with = "toml_datetime_compat")]
    time_date: time::Date,
    #[serde(with = "toml_datetime_compat")]
    time_time: time::Time,
    #[serde(with = "toml_datetime_compat")]
    time_primitive_date_time: time::PrimitiveDateTime,
    #[serde(with = "toml_datetime_compat")]
    time_offset_date_time: time::OffsetDateTime,"#
}

And by introducing a new trait ToFromToml that adds to_toml and from_toml functions to the relevant structs from chrono and time.

Dependencies

~0.4–1.6MB
~34K SLoC