Crates.io | serde_millis |
lib.rs | serde_millis |
version | 0.1.1 |
source | src |
created_at | 2017-11-28 16:47:52.876212 |
updated_at | 2017-11-29 00:36:04.851667 |
description | A serde wrapper that stores integer millisecond value for timestamps and durations (used similarly to serde_bytes) |
homepage | https://github.com/tailhook/serde-millis |
repository | |
max_upload_size | |
id | 40863 |
size | 29,581 |
Documentation | Github | Crate
A serde wrapper, that can be used to serialize timestamps and durations as
milliseconds. It's often useful together with serde_json
to communicate with
Javascript.
#[macro_use]
extern crate serde_derive;
extern crate serde;
extern crate serde_millis;
use std::time::{Duration, SystemTime, Instant};
#[derive(Serialize, Deserialize)]
struct Timestamps {
#[serde(with = "serde_millis")]
time: SystemTime,
#[serde(with = "serde_millis")]
latency: Duration,
// Instant is serialized relative to the current time, or in
// other words by formula (but works for future instants too):
//
// ts = SystemTime::now() - (Instant::now() - target_instant)
//
#[serde(with = "serde_millis")]
timestamp: Instant,
}
Licensed under either of
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.