# floating-duration
[![Build Status][bi]][bl] [![Crates.io][ci]][cl] ![MIT/Apache][li] [![Docs.rs][di]][dl]
[bi]: https://travis-ci.org/torkleyy/floating-duration.svg?branch=master
[bl]: https://travis-ci.org/torkleyy/floating-duration
[ci]: https://img.shields.io/crates/v/floating-duration.svg
[cl]: https://crates.io/crates/floating-duration/
[li]: https://img.shields.io/badge/license-MIT%2FApache-blue.svg
[di]: https://docs.rs/floating-duration/badge.svg
[dl]: https://docs.rs/floating-duration/
Allows converting a `Duration` to floating-point seconds, milliseconds and microseconds.
Additionally, it allows automatic formatting of a `Duration` (it automatically chooses
a unit).
## Usage
Minimum Rust version: `1.8.0`
Add this crate to `Cargo.toml`
```toml
[dependencies]
floating-duration = "0.1.2"
```
Now you can easily print a `Duration`:
```rust
extern crate floating_duration;
use std::time::Instant;
use floating_duration::{TimeAsFloat, TimeFormat};
fn main() {
let start = Instant::now();
let result = (1..12).fold(1, |acc, x| acc * x);
println!("Needed {}", TimeFormat(start.elapsed()));
println!("In seconds: {}", start.elapsed().as_fractional_secs());
}
```
## Contribution
Contribution is very welcome!
Any contribution you submit is assumed to be
dual-licensed under MIT/Apache-2.
## License
floating-duration is distributed under the terms of both the MIT license
and the Apache License (Version 2.0).
See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT).