Skip to content

Commit

Permalink
v1.6.12 修复八字转阳历存在遗漏的问题。
Browse files Browse the repository at this point in the history
  • Loading branch information
6tail committed Mar 17, 2024
1 parent 10e8041 commit abfcd39
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 7 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@
2. 完善package.json中author信息。
3. 修复每日宜忌存在重复项的问题。
4. 修复八字转阳历存在遗漏的问题。

## [1.6.12] - 2024-03-17
1. 修复八字转阳历存在遗漏的问题。
10 changes: 9 additions & 1 deletion __tests__/EightChar.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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']);
});
8 changes: 3 additions & 5 deletions lunar.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand All @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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": {
Expand Down

0 comments on commit abfcd39

Please sign in to comment.