Fast abstraction for converting human-like times into milliseconds.
Like, are 1d to 86400000.
There are two ways to calculate milliseconds:
- In the runtime
crate::ms_converter::ms - In the compilation time
crate::ms_converter::ms_expr
Add this to your Cargo.toml:
[dependencies]
ms-converter = "1.4"use crate::ms_converter::ms;
let value = ms("1d").unwrap();
assert_eq!(value, 86400000)use crate::ms_converter::ms_expr;
const VALUE: i64 = ms_expr!(i64, 1 d);
assert_eq!(VALUE, 86400000)use crate::ms_converter::ms_into_time;
let value = ms_into_time("1d").unwrap();
assert_eq!(value.as_millis(), 86400000)use crate::ms_converter::{get_duration_by_postfix, DAY};
let value = get_duration_by_postfix(DAY as i64, " day").unwrap();
assert_eq!(value, "1 day")use crate::ms_converter::{get_max_possible_duration, DAY};
let value = get_max_possible_duration(DAY as i64).unwrap();
assert_eq!(value, "1d")use crate::ms_converter::{get_max_possible_duration_long, WEEK};
let value = get_max_possible_duration_long(2 * WEEK as i64).unwrap();
assert_eq!(value, "14 days") // Max possible period is a day- Years:
years,year,yrs,yr,y - Weeks:
weeks,week,w - Days:
days,day,d - Hours:
hours,hour,hrs,hr,h - Minutes:
minutes,minute,mins,min,m - Seconds:
seconds,second,secs,sec,s - Milliseconds:
milliseconds,millisecond,msecs,msec,msand empty postfix
You can check the performance diff between ms_converter and ms libraries here.
Also, the macro has no time in the runtime! It will be converted into the const value.
cargo testRunning code style tests
cargo fmt --all -- --check
Just create pr or issue. You welcome.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Mikhail Panfilov - Initial work - Mnwa
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details