15 if (tod < 0) { tod += 86400; --day; }
22 wday = (day + 4) % 7;
if (wday < 0) wday += 7;
27 year = 5 + day / 146097;
28 day = day % 146097;
if (day < 0) { day += 146097; --year; }
31 if (day == 146096) { year += 3; day = 36524; }
32 else { year += day / 36524; day %= 36524; }
38 if (day == 1460) { year += 3; day = 365; }
39 else { year += day / 365; day %= 365; }
43 mon = (day + 5) / 306;
44 day = day + 5 - 306 * mon;
46 if (mon >= 10) { yday -= 306; ++year; mon -= 10; }
47 else { yday += 59; mon += 2; }
66 if (mon >= 2) { mon -= 2; }
67 else { mon += 10; --year; }
69 day = (
dt->
mday - 1) * 10 + 5 + 306 * mon;
72 if (day == 365) { year -= 3; day = 1460; }
73 else { day += 365 * (year % 4); }
76 day += 1461 * (year % 25);
79 if (day == 36524) { year -= 3; day = 146096; }
80 else { day += 36524 * (year % 4); }
83 day += 146097 * (year - 5);
void datetime_tai(struct datetime *dt, datetime_sec t)
datetime_sec datetime_untai(struct datetime *dt)