Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8ceab84986 | ||
|
|
8b374be752 |
@@ -26,3 +26,9 @@
|
|||||||
|
|
||||||
## [1.7.2] - 2025-04-07
|
## [1.7.2] - 2025-04-07
|
||||||
1. 修复八字身宫计算错误的问题。
|
1. 修复八字身宫计算错误的问题。
|
||||||
|
|
||||||
|
## [1.7.3] - 2025-04-29
|
||||||
|
1. 修复身宫报错的问题。
|
||||||
|
|
||||||
|
## [1.7.4] - 2025-09-07
|
||||||
|
1. 修复极端情况下八字转公历时刻出现遗漏的问题。
|
||||||
|
|||||||
@@ -249,3 +249,12 @@ test('test28', () => {
|
|||||||
})
|
})
|
||||||
expect(timeList).toStrictEqual(['1987-08-03 02:00:00']);
|
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']);
|
||||||
|
});
|
||||||
|
|||||||
10
lunar.js
10
lunar.js
@@ -603,6 +603,9 @@
|
|||||||
}
|
}
|
||||||
// 验证一下
|
// 验证一下
|
||||||
var solar = Solar.fromYmdHms(solarTime.getYear(), solarTime.getMonth(), solarTime.getDay(), hour, mi, s);
|
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 lunar = solar.getLunar();
|
||||||
var dgz = (2 === sect) ? lunar.getDayInGanZhiExact2() : lunar.getDayInGanZhiExact();
|
var dgz = (2 === sect) ? lunar.getDayInGanZhiExact2() : lunar.getDayInGanZhiExact();
|
||||||
if (lunar.getYearInGanZhiExact() === yearGanZhi && lunar.getMonthInGanZhiExact() === monthGanZhi && dgz === dayGanZhi && lunar.getTimeInGanZhi() === timeGanZhi) {
|
if (lunar.getYearInGanZhiExact() === yearGanZhi && lunar.getMonthInGanZhiExact() === monthGanZhi && dgz === dayGanZhi && lunar.getTimeInGanZhi() === timeGanZhi) {
|
||||||
@@ -5727,12 +5730,15 @@
|
|||||||
getShenGong:function(){
|
getShenGong:function(){
|
||||||
var monthZhiIndex = LunarUtil.index(this.getMonthZhi(), LunarUtil.MONTH_ZHI, 0);
|
var monthZhiIndex = LunarUtil.index(this.getMonthZhi(), LunarUtil.MONTH_ZHI, 0);
|
||||||
var timeZhiIndex = LunarUtil.index(this.getTimeZhi(), LunarUtil.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;
|
var ganIndex = (this._p.lunar.getYearGanIndexExact() + 1) * 2 + offset;
|
||||||
while (ganIndex > 10) {
|
while (ganIndex > 10) {
|
||||||
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()];},
|
getShenGongNaYin:function(){return LunarUtil.NAYIN[this.getShenGong()];},
|
||||||
getLunar:function(){return this._p.lunar;},
|
getLunar:function(){return this._p.lunar;},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lunar-javascript",
|
"name": "lunar-javascript",
|
||||||
"version": "1.7.2",
|
"version": "1.7.4",
|
||||||
"description": "lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.",
|
"description": "lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user