serde_with::chrono::serde::ts_microseconds

Function serialize

source
pub fn serialize<S>(
    dt: &DateTime<Utc>,
    serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,
Available on crate feature chrono only.
Expand description

Serialize a UTC datetime into an integer number of microseconds since the epoch

Intended for use with serdes serialize_with attribute.

ยงExample:

use chrono::serde::ts_microseconds::serialize as to_micro_ts;
#[derive(Serialize)]
struct S {
    #[serde(serialize_with = "to_micro_ts")]
    time: DateTime<Utc>,
}

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