Expand description

Ser/de to/from optional timestamps in nanoseconds

Intended for use with serde’s with attribute.

Example:

use chrono::naive::serde::ts_nanoseconds_option;
#[derive(Deserialize, Serialize)]
struct S {
    #[serde(with = "ts_nanoseconds_option")]
    time: Option<NaiveDateTime>
}

let time = Some(NaiveDate::from_ymd(2018, 5, 17).and_hms_nano(02, 04, 59, 918355733));
let my_s = S {
    time: time.clone(),
};

let as_string = serde_json::to_string(&my_s)?;
assert_eq!(as_string, r#"{"time":1526522699918355733}"#);
let my_s: S = serde_json::from_str(&as_string)?;
assert_eq!(my_s.time, time);

Functions

Deserialize a NaiveDateTime from a nanosecond timestamp or none

Serialize a datetime into an integer number of nanoseconds since the epoch or none