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