#toml #chrono #time #serde

toml-datetime-compat

Simple conversion of toml_datetime types from/to chrono and time

5 unstable releases

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

#837 in Encoding

Download history 9/week @ 2024-02-22 12/week @ 2024-02-29 13/week @ 2024-03-07 16/week @ 2024-03-14 13/week @ 2024-03-28 12/week @ 2024-04-04 195/week @ 2024-04-11 143/week @ 2024-04-18 25/week @ 2024-04-25 1/week @ 2024-05-02

172 downloads per month
Used in simplistis

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