1
0
mirror of synced 2026-04-16 05:18:43 +08:00

Compare commits

...

2 Commits

Author SHA1 Message Date
6tail
8ceab84986 v1.7.4 修复极端情况下八字转公历时刻出现遗漏的问题。 2025-09-07 08:56:46 +08:00
6tail
8b374be752 v1.7.3 修复身宫报错的问题。 2025-04-29 15:39:49 +08:00
4 changed files with 24 additions and 3 deletions

View File

@@ -26,3 +26,9 @@
## [1.7.2] - 2025-04-07
1. 修复八字身宫计算错误的问题。
## [1.7.3] - 2025-04-29
1. 修复身宫报错的问题。
## [1.7.4] - 2025-09-07
1. 修复极端情况下八字转公历时刻出现遗漏的问题。

View File

@@ -249,3 +249,12 @@ test('test28', () => {
})
expect(timeList).toStrictEqual(['1987-08-03 02:00:00']);
});
test('test29', () => {
const solarList = Solar.fromBaZi('壬申','壬寅','庚辰','甲申', 1, 1801);
const timeList = [];
solarList.forEach(solar => {
timeList.push(solar.toYmdHms());
})
expect(timeList).toStrictEqual(['1812-02-18 16:00:00', '1992-03-05 15:00:00']);
});

View File

@@ -603,6 +603,9 @@
}
// 验证一下
var solar = Solar.fromYmdHms(solarTime.getYear(), solarTime.getMonth(), solarTime.getDay(), hour, mi, s);
if (d === 30) {
solar = solar.nextHour(-1);
}
var lunar = solar.getLunar();
var dgz = (2 === sect) ? lunar.getDayInGanZhiExact2() : lunar.getDayInGanZhiExact();
if (lunar.getYearInGanZhiExact() === yearGanZhi && lunar.getMonthInGanZhiExact() === monthGanZhi && dgz === dayGanZhi && lunar.getTimeInGanZhi() === timeGanZhi) {
@@ -5727,12 +5730,15 @@
getShenGong:function(){
var monthZhiIndex = LunarUtil.index(this.getMonthZhi(), LunarUtil.MONTH_ZHI, 0);
var timeZhiIndex = LunarUtil.index(this.getTimeZhi(), LunarUtil.ZHI, 0);
var offset = (monthZhiIndex + timeZhiIndex - 1) % 12;
var offset = monthZhiIndex + timeZhiIndex;
if (offset > 12) {
offset -= 12;
}
var ganIndex = (this._p.lunar.getYearGanIndexExact() + 1) * 2 + offset;
while (ganIndex > 10) {
ganIndex -= 10;
}
return LunarUtil.GAN[ganIndex + 1] + LunarUtil.MONTH_ZHI[offset + 1];
return LunarUtil.GAN[ganIndex] + LunarUtil.MONTH_ZHI[offset];
},
getShenGongNaYin:function(){return LunarUtil.NAYIN[this.getShenGong()];},
getLunar:function(){return this._p.lunar;},

View File

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