11 releases
0.4.0 | May 22, 2024 |
---|---|
0.3.0 | Mar 22, 2023 |
0.2.0 | Jan 5, 2023 |
0.1.1 | Jun 7, 2022 |
0.0.6 | Mar 28, 2020 |
#24 in Date and time
70,370 downloads per month
Used in 28 crates
(16 directly)
22KB
429 lines
duration-string
duration-string
is a library to convert from String
to Duration
and vice-versa.
Takes a String
such as 100ms
, 2s
, 5m 30s
, 1h10m
and converts it into a Duration
.
Takes a Duration
and converts it into String
.
The String
format is a multiply of [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 serialization/deserialization support by adding the feature serde
-
Add
serde
featureduration-string = { version = "0.4.0", features = ["serde"] }
-
Add derive to struct
use duration_string::DurationString; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize)] struct Foo { duration: DurationString }
License
This project is licensed under the MIT License.
See LICENSE file for details.
Dependencies
~160KB