49 releases

Uses new Rust 2024

new 0.14.3 Apr 22, 2025
0.14.1 Feb 21, 2025
0.12.7 Nov 22, 2024
0.12.4 Jul 26, 2024
0.4.0 Mar 22, 2023

#100 in Date and time

Download history 22/week @ 2024-12-30 63/week @ 2025-01-06 212/week @ 2025-01-13 101/week @ 2025-01-20 71/week @ 2025-01-27 234/week @ 2025-02-03 90/week @ 2025-02-10 341/week @ 2025-02-17 111/week @ 2025-02-24 85/week @ 2025-03-03 74/week @ 2025-03-10 72/week @ 2025-03-17 32/week @ 2025-03-24 51/week @ 2025-03-31 53/week @ 2025-04-07 191/week @ 2025-04-14

327 downloads per month

MIT/Apache

75KB
1.5K SLoC

It's Rust time!

Low overhead implementation of time-related concepts.

Who is time for?

For applications where simplicity and low-overhead are more important than precision, safety, and time zone support.

License

Licensed under either of

at your option.

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.


lib.rs:

Low overhead implementation of time related concepts.

Operator support

// | example                                       | left       | op | right    | result     |
// | ----------------------------------------------| ---------- | ---| -------- | ---------- |
let result: Duration = time - time;             // | Time       | -  | Time     | Duration   |
let result: Time = time + duration;             // | Time       | +  | Duration | Time       |
time += duration;                               // | Time       | += | Duration | Time       |
let result: Time = time - duration;             // | Time       | -  | Duration | Time       |
time -= duration;                               // | Time       | -= | Duration | Time       |
let result: Duration = duration + duration;     // | Duration   | +  | Duration | Duration   |
duration += duration;                           // | Duration   | += | Duration | Duration   |
let result: Duration = duration - duration;     // | Duration   | -  | Duration | Duration   |
duration -= duration;                           // | Duration   | -= | Duration | Duration   |
let result: Duration = duration * 1.0f64;       // | Duration   | *  | f64      | Duration   |
let result: Duration = 2.0f64 * duration;       // | f64        | *  | Duration | Duration   |
duration *= 2.0f64;                             // | Duration   | *= | f64      | Duration   |
let result: Duration = duration / 2.0f64;       // | Duration   | /  | f64      | Duration   |
duration /= 2.0f64;                             // | Duration   | /= | f64      | Duration   |
let result: Duration = duration * 7i64;         // | Duration   | *  | i64      | Duration   |
let result: Duration = 7i64 * duration;         // | i64        | *  | Duration | Duration   |
duration *= 7i64;                               // | Duration   | *= | i64      | Duration   |
let result: Duration = duration / 7i64;         // | Duration   | /  | i64      | Duration   |
duration /= 7i64;                               // | Duration   | /= | i64      | Duration   |
let result: f64 = duration / duration;          // | Duration   | /  | Duration | f64        |

Dependencies

~0–620KB
~11K SLoC