3 releases
0.1.2 | Apr 24, 2023 |
---|---|
0.1.1 | Jul 25, 2021 |
0.1.0 | Jul 25, 2021 |
#1135 in Parser implementations
74 downloads per month
Used in fbtoggl
51KB
1K
SLoC
JackDauer
Use this Rust crate to easily parse various time formats to durations.
Demo
use dauer::duration;
use std::time::Duration;
let nanoseconds = duration("1 nanosecond");
let milliseconds = duration("2 milliseconds");
let seconds = duration("3 seconds");
let minutes = duration("4 minutes");
let hours = duration("5 hours");
let day = duration("6 days");
let week = duration("7 weeks");
let month = duration("8 months");
let year = duration("9 months");
let real_big_duration = duration("9 years, 8 months, 7 weeks and 6 days");
let real_small_duration = duration("4 minutes 3 seconds, 2 milliseconds and 1 nanosecond");
Features
- The
duration
function provides straightforward functions to parse durations from a human-readable format, into std::time::Duration instances. - The time unit-specific functions return unsigned integers representing the amount of said time unit parsed from a human-readable format:
years
returns the parsed duration as a number of yearsmonths
returns the parsed duration as a number of monthsweeks
returns the parsed duration as a number of weeksdays
returns the parsed duration as a number of dayshours
returns the parsed duration as a number of hoursminutes
returns the parsed duration as a number of minutesseconds
returns the parsed duration as a number of secondsmilliseconds
returns the parsed duration as a number of yearsnanoseconds
returns the parsed duration as a number of years
Installation
Add it as a dependency to your Cargo.toml
[dependencies]
jackdauer = "0.1.0"
Documentation
Authors
FAQ
What's the name about?
"Dauer" is the German word for "duration". When thinking about time, it reminded me of this show called "24", and its main character "Jack Bauer" (which, incidentally also happens to mean "builder" in German). The contraction of both gives "Jack Dauer".
But why the ridiculous name?
It's 2021, COVID-19 is still raging out there. The last year and a half have been quite gloomy, and I thought I needed (and you probably needed it too; maybe you're not just aware of it) some terrible pun to shed some light on my day-to-day quarantined life.
Acknowledgements
- This crate wouldn't have been possible without Nom, the parser combinator library
- Inspiration taken from the awesome ms javascript library
- readme.so, a superb tool that helped me build this README
License
Dependencies
~1MB
~19K SLoC