simple_datetime_rs/
constants.rs

1use std::time::Duration;
2
3pub const SECONDS_IN_MINUTE: u64 = 60;
4pub const SECONDS_IN_HOUR: u64 = SECONDS_IN_MINUTE * 60;
5pub const SECONDS_IN_DAY: u64 = SECONDS_IN_HOUR * HOURS_IN_DAY;
6pub const SECONDS_IN_QUARTER_MIN: u64 = SECONDS_IN_DAY * 90;
7pub const SECONDS_IN_QUARTER_MAX: u64 = SECONDS_IN_DAY * 92;
8pub const SECONDS_IN_MONTH_MIN: u64 = SECONDS_IN_DAY * 28;
9pub const SECONDS_IN_MONTH_MAX: u64 = SECONDS_IN_DAY * 31;
10pub const MINUTES_IN_HOUR: u64 = 60;
11pub const HOURS_IN_DAY: u64 = 24;
12pub const MONTHS_IN_YEAR: u64 = 12;
13pub const MONTH_DAYS: [u64; MONTHS_IN_YEAR as usize] =
14    [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
15pub const REGULAR_YEAR_MONTH_DAYS: [u64; MONTHS_IN_YEAR as usize] =
16    [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
17pub const LEAP_YEAR_MONTH_DAYS: [u64; MONTHS_IN_YEAR as usize] =
18    [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
19pub const ONE_DAY_DURATION: Duration = Duration::from_secs(SECONDS_IN_DAY);
20pub const ONE_LEAP_YEAR_DURATION: Duration = Duration::from_secs(SECONDS_IN_DAY * LEAP_YEAR_DAYS);
21pub const ONE_YEAR_DURATION: Duration = Duration::from_secs(SECONDS_IN_DAY * REGULAR_YEAR_DAYS);
22pub const LEAP_YEAR_DAYS: u64 = 366;
23pub const LEAP_YEAR_SECONDS: u64 = 366 * SECONDS_IN_DAY;
24pub const REGULAR_YEAR_DAYS: u64 = 365;
25pub const THREE_REGULAR_YEAR_DAYS: u64 = 365 * 3;
26pub const REGULAR_YEAR_SECONDS: u64 = 365 * SECONDS_IN_DAY;
27pub const FOUR_YEARS_DAYS: u64 = (REGULAR_YEAR_DAYS << 2) + 1;
28pub const FOUR_YEARS_SECONDS: u64 = FOUR_YEARS_DAYS * SECONDS_IN_DAY;
29pub const UNIX_EPOCH_YEAR: u64 = 1970;
30pub const MILLISECONDS_IN_SECOND: u64 = 1000;
31pub const MICROSECONDS_IN_SECOND: u64 = MILLISECONDS_IN_SECOND * 1000;