#duration #format-time #format #go

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

#11 in #format-time

Download history 62/week @ 2024-03-11 24/week @ 2024-03-18 29/week @ 2024-03-25 77/week @ 2024-04-01 15/week @ 2024-04-08 14/week @ 2024-04-15 18/week @ 2024-04-22 11/week @ 2024-04-29 14/week @ 2024-05-06 64/week @ 2024-05-13 23/week @ 2024-05-20 10/week @ 2024-05-27 21/week @ 2024-06-03 11/week @ 2024-06-10 13/week @ 2024-06-17 20/week @ 2024-06-24

66 downloads per month
Used in 2 crates (via darklua)

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