1
0
mirror of synced 2026-04-22 00:08:41 +08:00

Compare commits

..

3 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
6tail
b2600d7c5a v1.7.2 修复八字身宫计算错误的问题。 2025-04-07 20:44:08 +08:00
4 changed files with 25 additions and 4 deletions

View File

@@ -23,3 +23,12 @@
## [1.7.1] - 2025-03-05
1. 调整每日宜忌的默认流派。
2. 更新2018之后的△T参数。
## [1.7.2] - 2025-04-07
1. 修复八字身宫计算错误的问题。
## [1.7.3] - 2025-04-29
1. 修复身宫报错的问题。
## [1.7.4] - 2025-09-07
1. 修复极端情况下八字转公历时刻出现遗漏的问题。

View File

@@ -152,7 +152,7 @@ test('身宫1', () => {
const solar = Solar.fromYmdHms(1994, 12, 6, 2, 0, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
expect(eightChar.getShenGong()).toBe('丑');
expect(eightChar.getShenGong()).toBe('丑');
});
test('身宫2', () => {
@@ -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) {
@@ -5728,10 +5731,10 @@
var monthZhiIndex = LunarUtil.index(this.getMonthZhi(), LunarUtil.MONTH_ZHI, 0);
var timeZhiIndex = LunarUtil.index(this.getTimeZhi(), LunarUtil.ZHI, 0);
var offset = monthZhiIndex + timeZhiIndex;
while (offset > 12) {
if (offset > 12) {
offset -= 12;
}
var ganIndex = (this._p.lunar.getYearGanIndexExact() + 1) * 2 + (offset % 12);
var ganIndex = (this._p.lunar.getYearGanIndexExact() + 1) * 2 + offset;
while (ganIndex > 10) {
ganIndex -= 10;
}

View File

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