#timestamp #milliseconds #duration #serde #serialization

serde_millis

A serde wrapper that stores integer millisecond value for timestamps and durations (used similarly to serde_bytes)

2 releases

Uses old Rust 2015

0.1.1 Nov 29, 2017
0.1.0 Nov 28, 2017

#1220 in Encoding

Download history 6476/week @ 2024-01-06 5050/week @ 2024-01-13 9081/week @ 2024-01-20 6576/week @ 2024-01-27 8074/week @ 2024-02-03 10395/week @ 2024-02-10 4725/week @ 2024-02-17 11570/week @ 2024-02-24 6450/week @ 2024-03-02 10666/week @ 2024-03-09 10047/week @ 2024-03-16 13439/week @ 2024-03-23 16802/week @ 2024-03-30 6291/week @ 2024-04-06 9161/week @ 2024-04-13 8512/week @ 2024-04-20

46,109 downloads per month
Used in 4 crates (3 directly)

MIT/Apache

14KB
250 lines

Serde Millis

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.

Example

#[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,
}

License

Licensed under either of

Contribution

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.

Dependencies

~110–350KB