#duration-string #parse-duration #duration #string #parse #date #parser

parse_duration0

将字符串解析为持续时间。已分支,修复了安全问题。

1 个稳定版本

3.0.0 2022年7月5日

#534日期和时间


用于 2 crates

MIT 许可证

30KB
415

parse_duration0

Crates.io Documentation Test & lint Check dependencies License: MIT

这是 zeta12ti 的 parse_duration 的分支。

主要区别

  • 修复了DOS问题。
  • 放弃了对大于±9.22e18的数字的支持。
  • 放弃了对指数表示法的支持。

此crate提供了一个名为 parse 的函数,用于将字符串解析为持续时间。解析器基于 systemd.time 的标准,但进行了显著扩展。例如,允许负数、小数和指数。

extern crate parse_duration;

use ::parse_duration0::parse;
use ::std::time::Duration;

// One hour less than a day
assert_eq!(parse("1 day -1 hour"), Ok(Duration::new(82_800, 0)));
// Extra things will be ignored
assert_eq!(
    parse("Duration: 1 hour, 15 minutes and 29 seconds"),
    Ok(Duration::new(4529, 0))
);

依赖关系

~2.8–4MB
~67K SLoC