1
0
mirror of synced 2025-12-10 15:18:03 +08:00

v1.7.6 修复吉神宜驱、凶神宜忌的错误;修复农历闰月及后续月份的干支错误。

This commit is contained in:
6tail
2025-10-21 09:16:46 +08:00
parent 1409f94e90
commit eecd5d12c8
5 changed files with 20 additions and 8 deletions

View File

@@ -37,3 +37,7 @@
1. 修复:候的错别字。
2. 优化更新△T参数。
3. 优化:吉神宜驱、凶神宜忌。
## [1.7.6] - 2025-10-21
1. 修复:吉神宜驱、凶神宜忌的错误。
2. 修复:农历闰月及后续月份的干支错误。

View File

@@ -674,3 +674,11 @@ test('test100', () => {
expect(lunar.getDayJiShen().toString()).toBe('时德,阳德,民日,玉宇,司命');
expect(lunar.getDayXiongSha().toString()).toBe('河魁,死神,天吏,致死,往亡');
});
test('test101', () => {
const lunar = Solar.fromYmd(2025, 12, 15).getLunar();
expect(lunar.getMonthZhiIndex()).toBe(0);
expect(lunar.getDayInGanZhi().toString()).toBe('戊午');
expect(lunar.getDayJiShen().toString()).toBe('阳德,六仪,续世,解神,司命');
expect(lunar.getDayXiongSha().toString()).toBe('月破,大耗,灾煞,天火,厌对,招摇,五虚,血忌');
});

View File

@@ -9,13 +9,13 @@ test('test1', () => {
test('test2', () => {
const month = LunarMonth.fromYm(2023, -2);
expect(month.getIndex()).toBe(3);
expect(month.getGanZhi()).toBe('丙辰');
expect(month.getGanZhi()).toBe('乙卯');
});
test('test3', () => {
const month = LunarMonth.fromYm(2023, 3);
expect(month.getIndex()).toBe(4);
expect(month.getGanZhi()).toBe('丁巳');
expect(month.getGanZhi()).toBe('丙辰');
});
test('test4', () => {
@@ -27,7 +27,7 @@ test('test4', () => {
test('test5', () => {
const month = LunarMonth.fromYm(2023, 12);
expect(month.getIndex()).toBe(13);
expect(month.getGanZhi()).toBe('丙寅');
expect(month.getGanZhi()).toBe('乙丑');
});
test('test6', () => {

View File

@@ -2808,12 +2808,12 @@
dayCount: dayCount,
firstJulianDay: firstJulianDay,
index: index,
zhiIndex: (index - 1 + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12
zhiIndex: (Math.abs(lunarMonth) - 1 + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12
},
getIndex:function(){return this._p.index;},
getGanIndex:function(){
var offset = (LunarYear.fromYear(this._p.year).getGanIndex() + 1) % 5 * 2;
return (this._p.index - 1 + offset) % 10;
return (Math.abs(this._p.month) - 1 + offset) % 10;
},
getZhiIndex:function(){return this._p.zhiIndex;},
getGan:function(){return LunarUtil.GAN[this.getGanIndex() + 1];},
@@ -5223,7 +5223,7 @@
var l = [];
var m = monthZhiIndex - 2;
if (m < 0) {
m += 10;
m += 12;
}
var index = this.getJiaZiIndex(dayGanZhi).toString(16).toUpperCase();
if (index.length < 2) {
@@ -5248,7 +5248,7 @@
var l = [];
var m = monthZhiIndex - 2;
if (m < 0) {
m += 10;
m += 12;
}
var index = this.getJiaZiIndex(dayGanZhi).toString(16).toUpperCase();
if (index.length < 2) {

View File

@@ -1,6 +1,6 @@
{
"name": "lunar-javascript",
"version": "1.7.5",
"version": "1.7.6",
"description": "lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.",
"main": "index.js",
"scripts": {