use std::time::Duration; use serde::{self, Deserialize, Deserializer, Serializer}; pub fn serialize(value: &Duration, se: S) -> Result where S: Serializer, { se.serialize_u64(value.as_secs() * 1000 + value.subsec_millis() as u64) } pub fn deserialize<'de, D>(de: D) -> Result where D: Deserializer<'de>, { let s: u64 = u64::deserialize(de)?; Ok(Duration::from_millis(s)) }