time_t mktime( tm_t* tm ) {
    if ( tm->tm_year > 2100 ) {
        return -1;
    }

    return daysdiff( tm->tm_year, tm->tm_mon, tm->tm_mday ) * SECONDS_PER_DAY +
           tm->tm_hour * SECONDS_PER_HOUR + tm->tm_min * SECONDS_PER_MINUTE + tm->tm_sec;
}
예제 #2
0
파일: time.c 프로젝트: csko/yaosp
time_t mktime( tm_t* _time ) {
    if ( _time->tm_year > 2100 ) {
        return -1;
    }

    return daysdiff(
        _time->tm_year,
        _time->tm_mon,
        _time->tm_mday
    ) * SECONDS_PER_DAY + _time->tm_hour * SECONDS_PER_HOUR + _time->tm_min * SECONDS_PER_MINUTE + _time->tm_sec;
}
int dayofweek( int year, int month, int day ) {
    /* The UNIX Epoch(1 Jan 1970) was a Thursday */
    return ( 4 + daysdiff( year, month, day ) ) % 7;
}