#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

#188 in Value formatting

Download history 100/week @ 2023-12-13 130/week @ 2023-12-20 82/week @ 2023-12-27 33/week @ 2024-01-03 109/week @ 2024-01-10 94/week @ 2024-01-17 301/week @ 2024-01-24 248/week @ 2024-01-31 247/week @ 2024-02-07 291/week @ 2024-02-14 160/week @ 2024-02-21 269/week @ 2024-02-28 148/week @ 2024-03-06 110/week @ 2024-03-13 290/week @ 2024-03-20 182/week @ 2024-03-27

855 downloads per month
Used in 2 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