1pub const NANOSECONDS_PER_SECOND: u32 = 1_000_000_000;
5pub const SECONDS_PER_MINUTE: i64 = 60;
7pub const MINUTES_PER_HOUR: i64 = 60;
9pub const HOURS_PER_DAY: i64 = 24;
11pub const SECONDS_PER_HOUR: i64 = 3600;
13pub const SECONDS_PER_DAY: i64 = SECONDS_PER_HOUR * HOURS_PER_DAY;
15pub const DAYS_PER_WEEK: i64 = 7;
17pub const SECONDS_PER_WEEK: i64 = SECONDS_PER_DAY * DAYS_PER_WEEK;
19pub const SECONDS_PER_28_DAYS: i64 = SECONDS_PER_DAY * 28;
21pub const MONTHS_PER_YEAR: i64 = 12;
23pub const DAYS_PER_NORMAL_YEAR: i64 = 365;
25pub const SECONDS_PER_NORMAL_YEAR: i64 = DAYS_PER_NORMAL_YEAR * SECONDS_PER_DAY;
27pub const SECONDS_PER_LEAP_YEAR: i64 = (DAYS_PER_NORMAL_YEAR + 1) * SECONDS_PER_DAY;
29pub const DAYS_PER_4_YEARS: i64 = DAYS_PER_NORMAL_YEAR * 4 + 1;
31pub const DAYS_PER_100_YEARS: i64 = DAYS_PER_NORMAL_YEAR * 100 + 24;
33pub const DAYS_PER_400_YEARS: i64 = DAYS_PER_NORMAL_YEAR * 400 + 97;
35
36pub const DAYS_IN_MONTHS_NORMAL_YEAR: [i64; 12] = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
38pub const CUMUL_DAYS_IN_MONTHS_NORMAL_YEAR: [i64; 12] = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
40pub const CUMUL_DAYS_IN_MONTHS_LEAP_YEAR: [i64; 12] = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];
42
43pub const UNIX_OFFSET_SECS: i64 = 951868800;
45pub const OFFSET_YEAR: i64 = 2000;
47pub const DAY_IN_MONTHS_LEAP_YEAR_FROM_MARCH: [i64; 12] = [31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 29];