ref: fa095decfa65ce7fa2d03ad6fb1d75640c0803b1
dir: /src/libc/arch/posix/_systime.c/
#include <time.h>
#include "../../libc.h"
time_t
_systime(struct tm *tm)
{
time_t t = 0;
int year = tm->tm_year + MINYEAR;
for (int i = EPOCH; i < year; ++i)
t += _daysyear(i) * SECDAY;
for (int i = 0; i < tm->tm_mon; ++i)
t += _daysmon[i] * SECDAY;
t += tm->tm_sec;
t += tm->tm_min * SECMIN;
t += tm->tm_hour * SECHOUR;
t += (tm->tm_mday-1) * SECDAY;
return t;
}