#time #format-time

durationfmt

A Rust library to format std::time::Duration the same way Go does

2 releases

Uses old Rust 2015

0.1.1 Oct 21, 2017
0.1.0 Oct 21, 2017

#17 in #format-time

Download history 8/week @ 2024-09-11 16/week @ 2024-09-18 17/week @ 2024-09-25 7/week @ 2024-10-02 15/week @ 2024-10-09 33/week @ 2024-10-16 24/week @ 2024-10-23 30/week @ 2024-10-30 29/week @ 2024-11-06 17/week @ 2024-11-13 40/week @ 2024-11-20 37/week @ 2024-11-27 34/week @ 2024-12-04 140/week @ 2024-12-11 91/week @ 2024-12-18 24/week @ 2024-12-25

291 downloads per month
Used in 6 crates (4 directly)

MIT license

7KB
129 lines

durationfmt

A Rust library to format std::time::Duration the same way Go does.

This is almost a verbatim copy of the algorithm Go uses.

Usage

Add to your Cargo.toml file:

[dependencies]
durationfmt = { git = "https://github.com/kdar/durationfmt-rs", branch = "master"}

and this to your crate root:

extern crate durationfmt;

Example

extern crate durationfmt;

use std::time::Duration;

fn main() {
  let d = Duration::new(0, 0);
  println!("{}", durationfmt::to_string(d));
  // 0s
  let d = Duration::new(90, 0);
  println!("{}", durationfmt::to_string(d));
  // 1m30s
  let d = Duration::new(209, 1_000);
  println!("{}", durationfmt::to_string(d));
  // 3m29.000001s
}

No runtime deps