Browse Source

fix:tm缺少yday

alienwalker 3 years ago
parent
commit
7bc6da4461
1 changed files with 5 additions and 1 deletions
  1. 5 1
      bsp/common/src/bsp_common.c

+ 5 - 1
bsp/common/src/bsp_common.c

@@ -23,7 +23,7 @@
 #include "time.h"
 #include "time.h"
 #ifdef __LUATOS__
 #ifdef __LUATOS__
 
 
-
+extern const uint32_t DayTable[2][12];
 __attribute__((weak)) uint8_t OS_CheckInIrq(void)
 __attribute__((weak)) uint8_t OS_CheckInIrq(void)
 {
 {
 	return __get_IPSR();
 	return __get_IPSR();
@@ -2259,6 +2259,8 @@ struct tm *__wrap_localtime (const time_t *_timer)
 	prvTM.tm_min = Time.Min;
 	prvTM.tm_min = Time.Min;
 	prvTM.tm_sec = Time.Sec;
 	prvTM.tm_sec = Time.Sec;
 	prvTM.tm_wday = Time.Week;
 	prvTM.tm_wday = Time.Week;
+	prvTM.tm_yday = Date.Day - 1;
+	prvTM.tm_yday += DayTable[IsLeapYear(Date.Year)][Date.Mon - 1];
 	return &prvTM;
 	return &prvTM;
 }
 }
 
 
@@ -2283,6 +2285,8 @@ struct tm *__wrap_gmtime (const time_t *_timer)
 	prvTM.tm_min = Time.Min;
 	prvTM.tm_min = Time.Min;
 	prvTM.tm_sec = Time.Sec;
 	prvTM.tm_sec = Time.Sec;
 	prvTM.tm_wday = Time.Week;
 	prvTM.tm_wday = Time.Week;
+	prvTM.tm_yday = Date.Day - 1;
+	prvTM.tm_yday += DayTable[IsLeapYear(Date.Year)][Date.Mon - 1];
 	return &prvTM;
 	return &prvTM;
 }
 }