pub fn deserialize<'de, D>(d: D) -> Result<NaiveDateTime, D::Error>where
D: Deserializer<'de>,
Expand description
Deserialize a NaiveDateTime
from a microseconds timestamp
Intended for use with serde
s deserialize_with
attribute.
ยงExample:
use chrono::naive::serde::ts_microseconds::deserialize as from_micro_ts;
#[derive(Debug, PartialEq, Deserialize)]
struct S {
#[serde(deserialize_with = "from_micro_ts")]
time: NaiveDateTime,
}
let my_s: S = serde_json::from_str(r#"{ "time": 1526522699918355 }"#)?;
let expected = DateTime::from_timestamp(1526522699, 918355000).unwrap().naive_utc();
assert_eq!(my_s, S { time: expected });
let my_s: S = serde_json::from_str(r#"{ "time": -1 }"#)?;
let expected = DateTime::from_timestamp(-1, 999_999_000).unwrap().naive_utc();
assert_eq!(my_s, S { time: expected });