Skip to content

Commit 7d291f8

Browse files
committed
FIX: Check the BC Run Year BUG
1 parent 235dfdf commit 7d291f8

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

src/lunar.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,9 @@ Day Lunar::getDayBySolar(int _year, uint8_t _month, uint8_t _day)
642642
static int num[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
643643
if (_day <= 0 || _day > num[_month])
644644
{
645-
if (!(_month == 2 && _year % 4 == 0 && _day == 29))
645+
int year = _year;
646+
if(year < 0) year++; //公元前润年
647+
if (!(year % 4 == 0 && _month == 2 && _day == 29))
646648
{
647649
throw LunarException(ErrorCode_DateError);
648650
}

0 commit comments

Comments
 (0)