#include "datetime.h" /* roughly 100x faster than mktime() */ datetime_sec datetime_untai(struct datetime *dt) { int year; int day; int mon; year = dt->year + 1900; mon = dt->mon; if (mon >= 2) { mon -= 2; } else { mon += 10; --year; } day = (dt->mday - 1) * 10 + 5 + 306 * mon; day /= 10; if (day == 365) { year -= 3; day = 1460; } else { day += 365 * (year % 4); } year /= 4; day += 1461 * (year % 25); year /= 25; if (day == 36524) { year -= 3; day = 146096; } else { day += 36524 * (year % 4); } year /= 4; day += 146097 * (year - 5); day += 11017; return ((day * 24 + dt->hour) * 60 + dt->min) * 60 + dt->sec; }