1 stable release
3.0.0 | Jul 5, 2022 |
---|
#534 in Date and time
Used in 2 crates
30KB
415 lines
parse_duration0
This is a fork of zeta12ti's parse_duration
.
Main differences:
- It fixes a DOS issue.
- It drops support for numbers bigger than ±9.22e18.
- It drops support for exponential notation.
This crate provides a function parse
for parsing strings into durations.
The parser is based on the standard set by
systemd.time,
but extends it significantly.
For example, negative numbers, decimals and exponents are allowed.
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))
);
Dependencies
~2.8–4MB
~67K SLoC