chrono::naive::serde::ts_seconds_option

Function serialize

source
pub fn serialize<S>(
    opt: &Option<NaiveDateTime>,
    serializer: S,
) -> Result<S::Ok, S::Error>
where S: Serializer,
Expand description

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

Intended for use with serdes serialize_with attribute.

ยงExample:

use chrono::naive::serde::ts_seconds_option::serialize as to_tsopt;
#[derive(Serialize)]
struct S {
    #[serde(serialize_with = "to_tsopt")]
    time: Option<NaiveDateTime>,
}

let expected = NaiveDate::from_ymd_opt(2018, 5, 17).unwrap().and_hms_opt(02, 04, 59).unwrap();
let my_s = S { time: Some(expected) };
let as_string = serde_json::to_string(&my_s)?;
assert_eq!(as_string, r#"{"time":1526522699}"#);