5 int month
[12] = { 31,28,31,30,31,30,31,31,30,31,30,31};
10 unsigned int _getsystime(struct tm
* tp
)
17 tp
->tm_year
= Time
.wYear
- 1900;
18 tp
->tm_mon
= Time
.wMonth
- 1;
19 tp
->tm_wday
= Time
.wDayOfWeek
;
20 tp
->tm_mday
= Time
.wDay
;
21 tp
->tm_hour
= Time
.wHour
;
22 tp
->tm_min
= Time
.wMinute
;
23 tp
->tm_sec
= Time
.wSecond
;
27 //FIXME GetTimeZoneInformation currently not in kernel32
29 //TimeZoneId = GetTimeZoneInformation(&TimeZoneInformation );
30 //if ( TimeZoneId == TIME_ZONE_ID_DAYLIGHT ) {
36 if (tp
->tm_year
% 4 == 0) {
37 if (tp
->tm_year
% 100 != 0)
39 else if ((tp
->tm_year
-100) % 1000 == 0)
43 for (i
= 0; i
<= tp
->tm_mon
; i
++)
44 tp
->tm_yday
+= month
[i
];
46 return Time
.wMilliseconds
;
53 unsigned int _setsystime(struct tm
* tp
, unsigned int ms
)
57 Time
.wYear
= tp
->tm_year
+ 1900;
58 Time
.wMonth
= tp
->tm_mon
+ 1;
59 Time
.wDayOfWeek
= tp
->tm_wday
;
60 Time
.wDay
= tp
->tm_mday
;
61 Time
.wHour
= tp
->tm_hour
;
62 Time
.wMinute
= tp
->tm_min
;
63 Time
.wSecond
= tp
->tm_sec
;
64 Time
.wMilliseconds
= ms
;
66 if (!SetLocalTime(&Time
))