parse_duration

Crates.ioparse_duration
lib.rsparse_duration
version2.1.1
sourcesrc
created_at2017-08-14 09:25:12.632648
updated_at2021-03-25 04:51:45.223082
descriptionParses a duration from a string.
homepagehttps://github.com/zeta12ti/parse_duration/
repositoryhttps://github.com/zeta12ti/parse_duration/
max_upload_size
id27485
size39,181
(zeta12ti)

documentation

https://docs.rs/parse_duration

README

parse_duration

Crates.io Travis

IMPORTANT: This repository is no longer being updated. Before deciding to use it, check if any of the issues are deal breakers. In particular, this crate should not be used with untrusted input (see this issue).

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_duration::parse;
use std::time::Duration;

// One hour less than a day
assert_eq!(parse("1 day -1 hour"), Ok(Duration::new(82_800, 0)));
// Using exponents
assert_eq!(parse("1.26e-1 days"), Ok(Duration::new(10_886, 400_000_000)));
// Extra things will be ignored
assert_eq!(
    parse("Duration: 1 hour, 15 minutes and 29 seconds"),
    Ok(Duration::new(4529, 0))
);

Documentation

Documentation may be found on docs.rs.

Minimum Rust version policy

This crate's minimum supported rustc version is 1.28.0.

If the minimum rustc version needs to be increased, there will be a new major version. For example, if parse_duration 2.0.0 requires rustc 1.28.0, then parse_duration 2.x.y will also only require rustc 1.28.0. Since this crate is fairly simple, there likely won't be any need to increase the minimum version in the foreseeable future.

License

This software is licensed under the MIT License.

Contributing

Feel free to file an issue or submit a pull request if there's a bug you want fixed or a feature you want implemented.

By contributing to this project, you agree to license your code under the terms of the MIT License.

Commit count: 43

cargo fmt