duration-string
is a string to duration and visa-versa lib.
[![Crates.io][crates-badge]][crates-url] ![MIT licensed][mit-badge]
Takes a string such as 100ms
, 2s
, 5m
and converts it into a Duration
Takes a duration and makes it into string.
The string format is [0-9]+(ms|[smhdwy])
String to duration
rust
use std::convert::TryFrom;
use duration_string::DurationString;
use std::time::Duration;
let d: Duration = DurationString::try_from(String::from("100ms")).unwrap().into();
assert_eq!(d, Duration::from_millis(100));
duration to string
rust
use std::convert::TryFrom;
use duration_string::*;
use std::time::Duration;
let d: String = DurationString::try_from(Duration::from_millis(100)).unwrap().into();
assert_eq!(d, String::from("100ms"));
You can enable serialize/unserialize support by adding the feature serde_support
- Add serde_support
to the dependency
duration-string = { version = "0.0.1", features = ["serde_support"] }
- Add derive to struct
```rust
use serde::{Deserialize, Serialize};
struct Foo { duration: DurationString } ```
License: MIT