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.4.0. To use it, add the ntime crate to your Cargo.toml file:
[]
= "0.4.0"
Basic examples
NanoTime can resolve timestamps, break them down in date+time parts, and serialize in multiple formats.
let now = now;
println!;
println!;
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 16:27:01 +0000
current time (local): 2026-03-24 16:27:01.732 +0000
current time (UTC): Tue, 24 Mar 2026 16:27:01 UTC
week day (local): 3
year day (UTC): 83
It can also compute durations between timestamps. And it's blazing fast - see the benchmarks page for details - with lock times being dictated mostly by (g)libc calls.
let start = now;
start.write.expect;
println!;
wrote a serialized timestamp in 21ns.
Limitations
- NanoTime is intended to efficiently deal with precision timestamps. If you need date/time management with full support for timezone and calendar operations, consider using Chrono instead.
- Windows support is partial, and under developement.
Documentation
License
NanoTime is distrubuted under the MIT license.