v1.2.4 修复除夕错误;代码优化。
This commit is contained in:
@@ -361,3 +361,24 @@ test('test34', () => {
|
||||
const lunar = solar.getLunar();
|
||||
expect(lunar.getDayInGanZhi()).toBe('丙寅');
|
||||
});
|
||||
|
||||
test('test35', () => {
|
||||
const lunar = Lunar.fromYmd(2021, 12, 29);
|
||||
expect(lunar.getFestivals()[0]).toBe('除夕');
|
||||
});
|
||||
|
||||
test('test36', () => {
|
||||
const lunar = Lunar.fromYmd(2020, 12, 30);
|
||||
expect(lunar.getFestivals()[0]).toBe('除夕');
|
||||
});
|
||||
|
||||
test('test37', () => {
|
||||
const lunar = Lunar.fromYmd(2020, 12, 29);
|
||||
expect(lunar.getFestivals().length).toBe(0);
|
||||
});
|
||||
|
||||
test('test38', () => {
|
||||
const solar = Solar.fromYmd(2022, 1, 31);
|
||||
const lunar = solar.getLunar();
|
||||
expect(lunar.getFestivals()[0]).toBe('除夕');
|
||||
});
|
||||
|
||||
30
lunar.js
30
lunar.js
@@ -399,12 +399,13 @@
|
||||
o['yearZhiIndexExact'] = (zExact<0?zExact+12:zExact)%12;
|
||||
};
|
||||
var _computeMonth = function(o,solar){
|
||||
var start = null,i,j;
|
||||
var start = null,i;
|
||||
var end;
|
||||
var size = Lunar.JIE_QI_IN_USE.length;
|
||||
|
||||
//序号:大雪以前-3,大雪到小寒之间-2,小寒到立春之间-1,立春之后0
|
||||
var index = -3;
|
||||
for(i=0,j=Lunar.JIE_QI_IN_USE.length;i<j;i+=2){
|
||||
for(i=0;i<size;i+=2){
|
||||
end = o.jieQi[Lunar.JIE_QI_IN_USE[i]];
|
||||
var ymd = solar.toYmd();
|
||||
var symd = null==start?ymd:start.toYmd();
|
||||
@@ -414,13 +415,13 @@
|
||||
start = end;
|
||||
index++;
|
||||
}
|
||||
var gOffset = (((o.yearGanIndexByLiChun+(index<0?1:0)) % 5 + 1) * 2) % 10;
|
||||
o['monthGanIndex'] = ((index<0?index+10:index) + gOffset) % 10;
|
||||
var offset = (((o.yearGanIndexByLiChun+(index<0?1:0)) % 5 + 1) * 2) % 10;
|
||||
o['monthGanIndex'] = ((index<0?index+10:index) + offset) % 10;
|
||||
o['monthZhiIndex'] = ((index<0?index+12:index) + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12;
|
||||
|
||||
var indexExact = -3;
|
||||
start = null;
|
||||
for(i=0,j=Lunar.JIE_QI_IN_USE.length;i<j;i+=2){
|
||||
index = -3;
|
||||
for(i=0;i<size;i+=2){
|
||||
end = o.jieQi[Lunar.JIE_QI_IN_USE[i]];
|
||||
var time = solar.toYmdHms();
|
||||
var stime = null==start?time:start.toYmdHms();
|
||||
@@ -428,11 +429,11 @@
|
||||
break;
|
||||
}
|
||||
start = end;
|
||||
indexExact++;
|
||||
index++;
|
||||
}
|
||||
var gOffsetExact = (((o.yearGanIndexExact+(indexExact<0?1:0)) % 5 + 1) * 2) % 10;
|
||||
o['monthGanIndexExact'] = ((indexExact<0?indexExact+10:indexExact) + gOffsetExact) % 10;
|
||||
o['monthZhiIndexExact'] = ((indexExact<0?indexExact+12:indexExact) + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12;
|
||||
offset = (((o.yearGanIndexExact+(index<0?1:0)) % 5 + 1) * 2) % 10;
|
||||
o['monthGanIndexExact'] = ((index<0?index+10:index) + offset) % 10;
|
||||
o['monthZhiIndexExact'] = ((index<0?index+12:index) + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12;
|
||||
};
|
||||
var _computeDay = function(o,solar,hour,minute){
|
||||
var noon = Solar.fromYmdHms(solar.getYear(), solar.getMonth(), solar.getDay(), 12, 0, 0);
|
||||
@@ -890,7 +891,12 @@
|
||||
getFestivals:function(){
|
||||
var l = [];
|
||||
var f = LunarUtil.FESTIVAL[this._p.month+'-'+this._p.day];
|
||||
if(f) l.push(f);
|
||||
if(f){
|
||||
l.push(f);
|
||||
}
|
||||
if (Math.abs(this._p.month) == 12 && this._p.day >= 29 && this._p.year != this.next(1).getYear()) {
|
||||
l.push('除夕');
|
||||
}
|
||||
return l;
|
||||
},
|
||||
getOtherFestivals:function(){
|
||||
@@ -2258,7 +2264,7 @@
|
||||
ANIMAL:{'角':'蛟','斗':'獬','奎':'狼','井':'犴','亢':'龙','牛':'牛','娄':'狗','鬼':'羊','女':'蝠','氐':'貉','胃':'彘','柳':'獐','房':'兔','虚':'鼠','昴':'鸡','星':'马','心':'狐','危':'燕','毕':'乌','张':'鹿','尾':'虎','室':'猪','觜':'猴','翼':'蛇','箕':'豹','壁':'獝','参':'猿','轸':'蚓' },
|
||||
GONG:{'角':'东','井':'南','奎':'西','斗':'北','亢':'东','鬼':'南','娄':'西','牛':'北','氐':'南','柳':'南','胃':'西','女':'北','房':'东','星':'南','昴':'西','虚':'北','心':'东','张':'南','毕':'西','危':'北','尾':'东','翼':'南','觜':'西','室':'北','箕':'东','轸':'南','参':'西','壁':'北' },
|
||||
SHOU:{'东':'青龙','南':'朱雀','西':'白虎','北':'玄武'},
|
||||
FESTIVAL:{'1-1':'春节','1-15':'元宵节','2-2':'龙头节','5-5':'端午节','7-7':'七夕节','8-15':'中秋节','9-9':'重阳节','12-8':'腊八节','12-30':'除夕'},
|
||||
FESTIVAL:{'1-1':'春节','1-15':'元宵节','2-2':'龙头节','5-5':'端午节','7-7':'七夕节','8-15':'中秋节','9-9':'重阳节','12-8':'腊八节'},
|
||||
OTHER_FESTIVAL:{'1-1':['弥勒佛圣诞'],'1-8':['五殿阎罗天子诞'],'1-9':['玉皇上帝诞'],'1-13':['杨公忌'],'2-1':['一殿秦广王诞'],'2-2':['福德土地正神诞'],'2-3':['文昌帝君诞'],'2-6':['东华帝君诞'],'2-8':['释迦牟尼佛出家'],'2-11':['杨公忌'],'2-15':['释迦牟尼佛涅槃','太上老君诞'],'2-17':['东方杜将军诞'],'2-18':['四殿五官王诞','至圣先师孔子讳辰'],'2-19':['观音大士诞'],'2-21':['普贤菩萨诞'],'3-1':['二殿楚江王诞'],'3-3':['玄天上帝诞'],'3-8':['六殿卞城王诞'],'3-9':['杨公忌'],'3-12':['中央五道诞'],'3-15':['玄坛诞','昊天上帝诞'],'3-16':['准提菩萨诞'],'3-18':['中岳大帝诞','后土娘娘诞'],'3-20':['子孙娘娘诞'],'3-27':['七殿泰山王诞'],'3-28':['苍颉至圣先师诞'],'4-1':['八殿都市王诞'],'4-4':['文殊菩萨诞'],'4-7':['杨公忌'],'4-8':['释迦牟尼佛诞','九殿平等王诞'],'4-14':['纯阳祖师诞'],'4-15':['钟离祖师诞'],'4-17':['十殿转轮王诞'],'4-18':['紫徽大帝诞'],'4-20':['眼光圣母诞'],'5-1':['南极长生大帝诞'],'5-5':['杨公忌'],'5-8':['南方五道诞'],'5-11':['天下都城隍诞'],'5-12':['炳灵公诞'],'5-13':['关圣降'],'5-16':['天地元气造化万物之辰'],'5-18':['张天师诞'],'5-22':['孝娥神诞'],'6-3':['杨公忌'],'6-10':['金粟如来诞'],'6-13':['井泉龙王诞'],'6-19':['观音大士涅槃'],'6-23':['南方火神诞'],'6-24':['雷祖诞','关帝诞'],'7-1':['杨公忌'],'7-7':['魁星诞'],'7-12':['长真谭真人诞'],'7-13':['大势至菩萨诞'],'7-15':['中元节'],'7-18':['西王母诞'],'7-19':['太岁诞'],'7-22':['增福财神诞'],'7-29':['杨公忌'],'7-30':['地藏菩萨诞'],'8-1':['许真君诞'],'8-3':['司命灶君诞'],'8-5':['雷声大帝诞'],'8-10':['北斗大帝诞'],'8-12':['西方五道诞'],'8-16':['天曹掠刷真君降'],'8-18':['天人兴福之辰'],'8-23':['汉恒候张显王诞'],'8-24':['灶君夫人诞'],'8-27':['至圣先师孔子诞','杨公忌'],'9-1':['北斗九星降'],'9-2':['北斗九星降'],'9-3':['北斗九星降','五瘟神诞'],'9-4':['北斗九星降'],'9-5':['北斗九星降'],'9-6':['北斗九星降'],'9-7':['北斗九星降'],'9-8':['北斗九星降'],'9-9':['北斗九星降','酆都大帝诞'],'9-13':['孟婆尊神诞'],'9-17':['金龙四大王诞'],'9-19':['观世音菩萨出家'],'9-25':['杨公忌'],'9-30':['药师琉璃光佛诞'],'10-1':['寒衣节'],'10-3':['三茅诞'],'10-5':['达摩祖师诞'],'10-8':['佛涅槃日'],'10-15':['下元节'],'10-23':['杨公忌'],'10-27':['北极紫薇大帝降'],'11-4':['至圣先师孔子诞'],'11-6':['西岳大帝诞'],'11-11':['太乙救苦天尊诞'],'11-17':['阿弥陀佛诞'],'11-19':['太阳日宫诞'],'11-21':['杨公忌'],'11-23':['张仙诞'],'11-25':['掠刷大夫降'],'11-26':['北方五道诞'],'12-8':['释迦如来成佛之辰'],'12-16':['南岳大帝诞'],'12-19':['杨公忌'],'12-21':['天猷上帝诞'],'12-23':['小年','五岳神降'],'12-29':['华严菩萨诞']},
|
||||
CHONG:{'子':'午','丑':'未','寅':'申','卯':'酉','辰':'戌','巳':'亥','午':'子','未':'丑','申':'寅','酉':'卯','戌':'辰','亥':'巳'},
|
||||
CHONG_GAN:{'甲':'戊','乙':'己','丙':'庚','丁':'辛','戊':'壬','己':'癸','庚':'甲','辛':'乙','壬':'丙','癸':'丁'},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "lunar-javascript",
|
||||
"version": "1.2.3",
|
||||
"version": "1.2.4",
|
||||
"description": "lunar is a calendar library for Solar and Chinese Lunar.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user