@@ -49,9 +49,11 @@ mp_uint_t timeutils_year_day(mp_uint_t year, mp_uint_t month, mp_uint_t date);
49
49
void timeutils_seconds_since_2000_to_struct_time (mp_uint_t t ,
50
50
timeutils_struct_time_t * tm );
51
51
52
+ // Year is absolute, month/date are 1-based, hour/minute/second are 0-based.
52
53
mp_uint_t timeutils_seconds_since_2000 (mp_uint_t year , mp_uint_t month ,
53
54
mp_uint_t date , mp_uint_t hour , mp_uint_t minute , mp_uint_t second );
54
55
56
+ // Year is absolute, month/mday are 1-based, hours/minutes/seconds are 0-based.
55
57
mp_uint_t timeutils_mktime_2000 (mp_uint_t year , mp_int_t month , mp_int_t mday ,
56
58
mp_int_t hours , mp_int_t minutes , mp_int_t seconds );
57
59
@@ -63,10 +65,12 @@ static inline void timeutils_seconds_since_epoch_to_struct_time(uint64_t t, time
63
65
timeutils_seconds_since_2000_to_struct_time (t - TIMEUTILS_SECONDS_1970_TO_2000 , tm );
64
66
}
65
67
68
+ // Year is absolute, month/mday are 1-based, hours/minutes/seconds are 0-based.
66
69
static inline uint64_t timeutils_mktime (mp_uint_t year , mp_int_t month , mp_int_t mday , mp_int_t hours, mp_int_t minutes , mp_int_t seconds ) {
67
70
return timeutils_mktime_2000 (year , month , mday , hours , minutes , seconds ) + TIMEUTILS_SECONDS_1970_TO_2000 ;
68
71
}
69
72
73
+ // Year is absolute, month/date are 1-based, hour/minute/second are 0-based.
70
74
static inline uint64_t timeutils_seconds_since_epoch (mp_uint_t year , mp_uint_t month ,
71
75
mp_uint_t date , mp_uint_t hour , mp_uint_t minute , mp_uint_t second ) {
72
76
// TODO this will give incorrect results for dates before 2000/1/1
0 commit comments