chrono::serde::ts_seconds_option

Function deserialize

source
pub fn deserialize<'de, D>(d: D) -> Result<Option<DateTime<Utc>>, D::Error>
where D: Deserializer<'de>,
Expand description

Deserialize a DateTime from a seconds timestamp or none

Intended for use with serdes deserialize_with attribute.

ยงExample:

use chrono::serde::ts_seconds_option::deserialize as from_tsopt;
#[derive(Debug, PartialEq, Deserialize)]
struct S {
    #[serde(deserialize_with = "from_tsopt")]
    time: Option<DateTime<Utc>>,
}

let my_s: S = serde_json::from_str(r#"{ "time": 1431684000 }"#)?;
assert_eq!(my_s, S { time: Utc.timestamp_opt(1431684000, 0).single() });