diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f4537d..c8010b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,3 +9,6 @@ 2. 完善package.json中author信息。 3. 修复每日宜忌存在重复项的问题。 4. 修复八字转阳历存在遗漏的问题。 + +## [1.6.12] - 2024-03-17 +1. 修复八字转阳历存在遗漏的问题。 diff --git a/__tests__/EightChar.test.js b/__tests__/EightChar.test.js index f1afc29..ffa3f24 100644 --- a/__tests__/EightChar.test.js +++ b/__tests__/EightChar.test.js @@ -199,7 +199,6 @@ test('test19', () => { expect(timeList).toStrictEqual(['1937-03-27 18:00:00', '1997-03-12 18:00:00']); }); - test('test20', () => { const lunar = Solar.fromYmdHms(2024, 1, 29, 9, 30, 0).getLunar(); const eightChar = lunar.getEightChar(); @@ -241,3 +240,12 @@ test('test27', () => { const eightChar = lunar.getEightChar(); expect(eightChar.getShenGong()).toBe('乙巳'); }); + +test('test28', () => { + const solarList = Solar.fromBaZi('丁卯','丁未','甲申','乙丑', 1, 1900); + const timeList = []; + solarList.forEach(solar => { + timeList.push(solar.toYmdHms()); + }) + expect(timeList).toStrictEqual(['1987-08-03 02:00:00']); +}); diff --git a/lunar.js b/lunar.js index 7684dcc..48ed1dc 100644 --- a/lunar.js +++ b/lunar.js @@ -584,9 +584,7 @@ var solarTime = jieQiTable[jieQiList[4 + m]]; if (solarTime.getYear() >= baseYear) { // 日干支和节令干支的偏移值 - var lunar = solarTime.getLunar(); - var dgz = (2 === sect) ? lunar.getDayInGanZhiExact2() : lunar.getDayInGanZhiExact(); - var d = LunarUtil.getJiaZiIndex(dayGanZhi) - LunarUtil.getJiaZiIndex(dgz); + var d = LunarUtil.getJiaZiIndex(dayGanZhi) - LunarUtil.getJiaZiIndex(solarTime.getLunar().getDayInGanZhiExact2()); if (d < 0) { d += 60; } @@ -605,8 +603,8 @@ } // 验证一下 var solar = Solar.fromYmdHms(solarTime.getYear(), solarTime.getMonth(), solarTime.getDay(), hour, mi, s); - lunar = solar.getLunar(); - dgz = (2 === sect) ? lunar.getDayInGanZhiExact2() : lunar.getDayInGanZhiExact(); + var lunar = solar.getLunar(); + var dgz = (2 === sect) ? lunar.getDayInGanZhiExact2() : lunar.getDayInGanZhiExact(); if (lunar.getYearInGanZhiExact() === yearGanZhi && lunar.getMonthInGanZhiExact() === monthGanZhi && dgz === dayGanZhi && lunar.getTimeInGanZhi() === timeGanZhi) { l.push(solar); } diff --git a/package.json b/package.json index e23fa7b..618dd68 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lunar-javascript", - "version": "1.6.11", + "version": "1.6.12", "description": "lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.", "main": "index.js", "scripts": {