serde_millis 0.1.1

A serde wrapper that stores integer millisecond value for timestamps and durations (used similarly to serde_bytes)
Documentation
  • Coverage
  • 100%
    4 out of 4 items documented1 out of 1 items with examples
  • Size
  • Source code size: 29.58 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 328.75 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 17s Average build duration of successful builds.
  • all releases: 17s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • tailhook

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.