4 void datetime_tai(dt
,t
)
17 if (tod
< 0) { tod
+= 86400; --day
; }
19 dt
->hour
= tod
/ 3600;
24 wday
= (day
+ 4) % 7; if (wday
< 0) wday
+= 7;
28 /* day 0 is march 1, 2000 */
29 year
= 5 + day
/ 146097;
30 day
= day
% 146097; if (day
< 0) { day
+= 146097; --year
; }
31 /* from now on, day is nonnegative */
33 if (day
== 146096) { year
+= 3; day
= 36524; }
34 else { year
+= day
/ 36524; day
%= 36524; }
40 if (day
== 1460) { year
+= 3; day
= 365; }
41 else { year
+= day
/ 365; day
%= 365; }
45 mon
= (day
+ 5) / 306;
46 day
= day
+ 5 - 306 * mon
;
48 if (mon
>= 10) { yday
-= 306; ++year
; mon
-= 10; }
49 else { yday
+= 59; mon
+= 2; }
52 dt
->year
= year
- 1900;