diff --git a/__tests__/WuHou.test.js b/__tests__/WuHou.test.js index 3bcd0e2..e1eea8a 100644 --- a/__tests__/WuHou.test.js +++ b/__tests__/WuHou.test.js @@ -83,3 +83,15 @@ test('test14', () => { const lunar = solar.getLunar(); expect(lunar.getHou()).toBe('立夏 三候'); }); + +test('test15', () => { + const solar = Solar.fromYmd(2022, 8, 22); + const lunar = solar.getLunar(); + expect(lunar.getWuHou()).toBe('寒蝉鸣'); +}); + +test('test16', () => { + const solar = Solar.fromYmd(2022, 8, 23); + const lunar = solar.getLunar(); + expect(lunar.getWuHou()).toBe('鹰乃祭鸟'); +}); diff --git a/lunar.js b/lunar.js index bd23dfb..db3a251 100644 --- a/lunar.js +++ b/lunar.js @@ -1682,7 +1682,11 @@ var startSolar = jieQi.getSolar(); var startCalendar = ExactDate.fromYmd(startSolar.getYear(),startSolar.getMonth(),startSolar.getDay()); var days = ExactDate.getDaysBetween(startCalendar, currentCalendar); - return LunarUtil.WU_HOU[(offset*3+Math.floor(days/5)) % LunarUtil.WU_HOU.length]; + var index = Math.floor(days / 5); + if (index > 2) { + index = 2; + } + return LunarUtil.WU_HOU[(offset * 3 + index) % LunarUtil.WU_HOU.length]; }, getHou:function(){ var jieQi = this.getPrevJieQi(true); diff --git a/package.json b/package.json index 1c61e47..a91012e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lunar-javascript", - "version": "1.2.34", + "version": "1.2.35", "description": "lunar is a calendar library for Solar and Chinese Lunar.", "main": "index.js", "scripts": {