Macro ymd_hms

Source
macro_rules! ymd_hms {
    ($y:literal-$mo:literal-$d:literal $h:literal:$m:literal:$s:literal) => { ... };
    ($y:literal-$mo:literal-$d:literal) => { ... };
}
Expand description

Create a DateTime from YYYY-MM-DD hh:mm:ss

If the hh:mm:ss time component is omitted, it defaults to 00:00:00.

Unfortunately, using this macro with properly formatted dates like 2022-09-22 triggers the clippy lint zero_prefixed_literal for every leading zero (e.g. in 09).

 use greg::ymd_hms;
 use greg::calendar::{DateTime, Date, Time};
 let dt1: DateTime = ymd_hms!(2022-09-22);
 let DateTime(date, time) = dt1;
 assert_eq!(date, Date::ymd(2022, 9, 22));
 assert_eq!(time, Time::MIDNIGHT);

 let DateTime(date2, time2) = ymd_hms!(2022-09-22 03:00:00);
 assert_eq!(date, date2);
 assert_eq!(time2, Time::hms_checked(3, 0, 0));