10 unstable releases (3 breaking)
0.3.0 | Mar 22, 2023 |
---|---|
0.2.0 | Jan 5, 2023 |
0.1.1 | Jun 7, 2022 |
0.0.6 | Mar 28, 2020 |
#32 in Date and time
22,764 downloads per month
Used in 20 crates
(9 directly)
18KB
363 lines
duration-string
duration-string
is a string to duration and visa-versa lib.
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]+(ns|us|ms|[smhdwy])
Example
String to duration
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));
// Alternatively:
let d: Duration = "100ms".parse::<DurationString>().unwrap().into();
assert_eq!(d, Duration::from_millis(100));
duration to string
use std::convert::TryFrom;
use duration_string::*;
use std::time::Duration;
let d: String = DurationString::from(Duration::from_millis(100)).into();
assert_eq!(d, String::from("100ms"));
Serde support
You can enable serialize/unserialize support by adding the feature serde_support
- Add
serde_support
to the dependencyduration-string = { version = "0.0.1", features = ["serde_support"] }
- Add derive to struct
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
struct Foo {
duration: DurationString
}
License: MIT
Dependencies
~175KB