#format-duration #duration-string #number-format #humanify-duration #easy-ready-duration

pretty-duration

Rust library that takes a duration and returns a string that is prettier to read for a human. The format of the duration can be customized in a short and long format and can be localized.

2 releases

0.1.1 Oct 28, 2022
0.1.0 Oct 28, 2022

#189 in Value formatting

Download history 179/week @ 2024-07-27 308/week @ 2024-08-03 474/week @ 2024-08-10 179/week @ 2024-08-17 176/week @ 2024-08-24 151/week @ 2024-08-31 215/week @ 2024-09-07 343/week @ 2024-09-14 761/week @ 2024-09-21 790/week @ 2024-09-28 668/week @ 2024-10-05 525/week @ 2024-10-12 937/week @ 2024-10-19 637/week @ 2024-10-26 861/week @ 2024-11-02 754/week @ 2024-11-09

3,263 downloads per month
Used in 4 crates

Apache-2.0

17KB
269 lines

Humanify Duration

github crates.io docs.rs build status codecov

Rust library that takes a duration and returns a string that is prettier to read for a human

Consumer of the Library

Install

cargo add pretty-duration

How to use?

use pretty_duration::pretty_duration;
use std::time::Duration;
let result = pretty_duration(&Duration::from_millis(1), None);

As a Developer of the Library

Tests

cargo test

Tests Coverage

You must install few components before running coverage:

cargo install grcov
rustup component add llvm-tools-preview

Then, you can run:

export RUSTFLAGS="-Cinstrument-coverage"
cargo build
export LLVM_PROFILE_FILE="profile-%p-%m.profraw"
cargo test
grcov . -s . --binary-path ./target/debug/ -t html --branch --ignore-not-existing -o ./target/debug/coverage/

Further explanation in the Mozilla grcov website

Documentation

cargo doc --open

Publishing

cargo login
cargo publish --dry-run
cargo publish

No runtime deps