GmTime->tm_yday = (int) DayNo;\r
\r
for (MonthNo = 12; MonthNo > 1; MonthNo--) {\r
- if (DayNo > CumulativeDays[IsLeap(Year)][MonthNo]) {\r
+ if (DayNo >= CumulativeDays[IsLeap(Year)][MonthNo]) {\r
DayNo = (UINT16) (DayNo - (UINT16) (CumulativeDays[IsLeap(Year)][MonthNo]));\r
break;\r
}\r
}\r
\r
- GmTime->tm_mon = (int) MonthNo;\r
- GmTime->tm_mday = (int) DayNo;\r
+ GmTime->tm_mon = (int) MonthNo - 1;\r
+ GmTime->tm_mday = (int) DayNo + 1;\r
\r
GmTime->tm_isdst = 0;\r
GmTime->tm_gmtoff = 0;\r