NanoTime
NanoTime is a lightweight, high-performance Rust library for nanosecond-precision timestamps. It offers support for timestamp generation, arithmetics, comparsion and casting to various string representations, in either local or UTC timezones.
NanoTime has no external Rust dependencies, and runs on all Unix and Windows platforms.
Usage
Latest stable release is v0.3.0. To use it, add the ntime crate to your Cargo.toml file:
[]
= "0.3.0"
Basic examples
NanoTime can resolve timestamps, and serialize them as multiple formats.
let now = now;
println!;
println!;
println!;
println!;
println!;
current time, as nanos since epoch: 1774369621732000558
current time as debug: Timestamp { seconds: 1774369621, nanoseconds: 732000558 },
current time as string: 2026-03-24 17:21:01 +0100
current time (local): 2026-03-24 17:27:01.732 +0100
current time (UTC): Tue, 24 Mar 2026 16:27:01 UTC
It can also compute durations between timestamps. And it's blazing fast, too - see the benchmarks page for details - with lock time being dictated mostly by (g)libc calls.
let start = now;
start.write.expect;
println!;
wrote a serialized timestamp in 21ns.
Limitations
- NanoTime is intended mainly to deal with precision timestamps. If you need date/time management with full support for timezone and calendar operations, see Chrono instead.
- Windows support is partial, and under developement.
Documentation
License
NanoTime is distrubuted under the MIT license.