11 个版本
0.4.0 | 2024年5月22日 |
---|---|
0.3.0 | 2023年3月22日 |
0.2.0 | 2023年1月5日 |
0.1.1 | 2022年6月7日 |
0.0.6 | 2020年3月28日 |
#28 in 日期和时间
58,448 每月下载量
在 27 个 crate 中使用 (15 个直接使用)
22KB
429 行
duration-string
duration-string
是一个库,用于将 String
转换为 Duration
以及相反。
接受如 100ms
、2s
、5m 30s
、1h10m
这样的字符串,并将其转换为 Duration
。
接受一个 Duration
并将其转换为 String
。
字符串格式为 String
的乘积,形式为 [0-9]+(ns|us|ms|[smhdwy])
示例
String
到 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
到 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 支持
您可以通过添加功能 serde
来启用 序列化/反序列化 支持
-
添加
serde
功能duration-string = { version = "0.4.0", features = ["serde"] }
-
为结构体添加 derive
use duration_string::DurationString; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize)] struct Foo { duration: DurationString }
许可
本项目采用 MIT 许可证。
有关详细信息,请参阅 LICENSE 文件。
依赖项
~165KB