Skip to content

format

Formats duration as a short human-readable string such as "1h 30m 5s".

Uses the units d, h, m, s and ms, largest first, and skips the ones that are zero. A zero duration is "0s". Anything below one millisecond is dropped (truncated, not rounded). parse reads the result back.

use helpers4::duration::format;

Cargo feature duration (enabled by default). To compile only this module:

cargo add helpers4 --no-default-features --features duration

or in Cargo.toml:

[dependencies]
helpers4 = { version = "0.0.5", default-features = false, features = ["duration"] }
pub fn format(duration: Duration) -> String
ParameterTypeDescription
durationDurationThe duration to format.

String

use helpers4::duration::format;
use std::time::Duration;

assert_eq!(format(Duration::from_secs(5405)), "1h 30m 5s");
assert_eq!(format(Duration::from_millis(1500)), "1s 500ms");
assert_eq!(format(Duration::ZERO), "0s");

src/duration/format.rs