低功耗蓝牙中UTCTimeStruct转换为UTCtime时间对月份和年循环条件的问题?
时间:10-02
整理:3721RD
点击:
/* Next, complete months in current year */ { int8 month = tm->month; while ( --month >= 0 )//这里有没错呢?你先把一个月减了 //是不是少计数了一个月 { days += monthLength( IsLeapYear( tm->year ), month ); } } /* Next, complete years before current year */ { uint16 year = tm->year; while ( --year >= BEGYEAR ) { days += YearLength( year ); } }
问题是在这里将时间数据由 UTCTimeStruct转换为UTCtime时间对月份和年循环条件。比如--year>=BEGYEAR是不是上算了一年。
TI的固件里,月份是从0开始计算的。需要小小修改一下。函数的注释有。
我知道,从一月到十二月存储是从0~11。但是你一进去循环条件就把月份先减了一不是少算了一个月?