parse_duration0 3.0.0

Parses a duration from a string. Fork with security fix.
Documentation

parse_duration0

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

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))
);