From 7a71e07ade04c969bef8b052881c66ca04a14e41 Mon Sep 17 00:00:00 2001 From: 6tail <6tail@6tail.cn> Date: Sun, 26 Mar 2023 21:56:49 +0800 Subject: [PATCH] =?UTF-8?q?v1.3.4=20LunarMonth=E5=A2=9E=E5=8A=A0=E5=BA=8F?= =?UTF-8?q?=E5=8F=B7=E3=80=81=E5=B9=B2=E6=94=AF=E3=80=81=E8=B4=A2=E7=A5=9E?= =?UTF-8?q?=E6=96=B9=E4=BD=8D=E7=AD=89=EF=BC=9B=E5=AE=8C=E5=96=84=E7=BA=AA?= =?UTF-8?q?=E5=BF=B5=E6=97=A5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __tests__/Foto.test.js | 5 + __tests__/LunarMonth.test.js | 37 ++++++ lunar.js | 245 ++++++++++++++++++++++++++++++++++- package.json | 2 +- 4 files changed, 281 insertions(+), 8 deletions(-) create mode 100644 __tests__/LunarMonth.test.js diff --git a/__tests__/Foto.test.js b/__tests__/Foto.test.js index 0f9f3a9..b06e123 100644 --- a/__tests__/Foto.test.js +++ b/__tests__/Foto.test.js @@ -13,3 +13,8 @@ test('test2()', () => { expect(foto.getGong()).toBe('东'); expect(foto.getShou()).toBe('青龙'); }); + +test('test3()', () => { + const foto = Foto.fromLunar(Lunar.fromYmd(2021, 3, 16)); + expect(foto.getOtherFestivals()).toStrictEqual(['准提菩萨圣诞']); +}); diff --git a/__tests__/LunarMonth.test.js b/__tests__/LunarMonth.test.js new file mode 100644 index 0000000..3cbd820 --- /dev/null +++ b/__tests__/LunarMonth.test.js @@ -0,0 +1,37 @@ +var {LunarMonth} = require('../lunar'); + +test('test1', () => { + const month = LunarMonth.fromYm(2023, 1); + expect(month.getIndex()).toBe(1); + expect(month.getGanZhi()).toBe('甲寅'); +}); + +test('test2', () => { + const month = LunarMonth.fromYm(2023, -2); + expect(month.getIndex()).toBe(3); + expect(month.getGanZhi()).toBe('丙辰'); +}); + +test('test3', () => { + const month = LunarMonth.fromYm(2023, 3); + expect(month.getIndex()).toBe(4); + expect(month.getGanZhi()).toBe('丁巳'); +}); + +test('test4', () => { + const month = LunarMonth.fromYm(2024, 1); + expect(month.getIndex()).toBe(1); + expect(month.getGanZhi()).toBe('丙寅'); +}); + +test('test5', () => { + const month = LunarMonth.fromYm(2023, 12); + expect(month.getIndex()).toBe(13); + expect(month.getGanZhi()).toBe('丙寅'); +}); + +test('test6', () => { + const month = LunarMonth.fromYm(2022, 1); + expect(month.getIndex()).toBe(1); + expect(month.getGanZhi()).toBe('壬寅'); +}); diff --git a/lunar.js b/lunar.js index 5eda145..dd32746 100644 --- a/lunar.js +++ b/lunar.js @@ -92,6 +92,12 @@ throw new Error('wrong solar year '+y+' month '+m+' day '+d); } } + if(m<1||m>12){ + throw new Error('wrong month ' + m); + } + if(d<1||d>31){ + throw new Error('wrong day ' + d); + } if(hour<0||hour>23){ throw new Error('wrong hour '+hour); } @@ -1952,6 +1958,9 @@ } return lu; }, + getTime:function(){ + return LunarTime.fromYmdHms(this._p.year, this._p.month, this._p.day, this._p.hour, this._p.minute, this._p.second); + }, getTimes:function(){ var l = []; l.push(LunarTime.fromYmdHms(this._p.year, this._p.month, this._p.day, 0, 0, 0)); @@ -2746,17 +2755,20 @@ var y = prevYear; var m = 11; + var index = m; for (i = 0, j = dayCounts.length; i < j; i++) { var cm = m; if (y === leapYear && i === leapIndex) { cm = -cm; } - this._p.months.push(LunarMonth._(y, cm, dayCounts[i], hs[i] + Solar.J2000)); + this._p.months.push(LunarMonth._(y, cm, dayCounts[i], hs[i] + Solar.J2000, index)); if (y !== leapYear || i + 1 !== leapIndex) { m++; } + index++; if (m === 13) { m = 1; + index = 1; y++; } } @@ -2791,19 +2803,60 @@ } return LunarYear.fromYear(lunarYear).getMonth(lunarMonth); }; - var _new = function(lunarYear, lunarMonth, dayCount, firstJulianDay){ + var _new = function(lunarYear, lunarMonth, dayCount, firstJulianDay, index){ return { _p: { year: lunarYear, month: lunarMonth, dayCount: dayCount, - firstJulianDay: firstJulianDay + firstJulianDay: firstJulianDay, + index: index, + zhiIndex: (index - 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; + }, + getZhiIndex:function(){return this._p.zhiIndex;}, + getGan:function(){return LunarUtil.GAN[this.getGanIndex() + 1];}, + getZhi:function(){return LunarUtil.ZHI[this._p.zhiIndex + 1];}, + getGanZhi:function(){return this.getGan() + this.getZhi();}, getYear:function(){return this._p.year;}, getMonth:function(){return this._p.month;}, getDayCount:function(){return this._p.dayCount;}, getFirstJulianDay:function(){return this._p.firstJulianDay;}, isLeap:function(){return this._p.month<0;}, + getPositionXi:function(){ + return LunarUtil.POSITION_XI[this.getGanIndex() + 1]; + }, + getPositionXiDesc:function(){ + return LunarUtil.POSITION_DESC.get(this.getPositionXi()); + }, + getPositionYangGui:function(){ + return LunarUtil.POSITION_YANG_GUI[this.getGanIndex() + 1]; + }, + getPositionYangGuiDesc:function(){ + return LunarUtil.POSITION_DESC.get(this.getPositionYangGui()); + }, + getPositionYinGui:function(){ + return LunarUtil.POSITION_YIN_GUI[this.getGanIndex() + 1]; + }, + getPositionYinGuiDesc:function(){ + return LunarUtil.POSITION_DESC.get(this.getPositionYinGui()); + }, + getPositionFu:function(sect){ + return (1 === sect ? LunarUtil.POSITION_FU : LunarUtil.POSITION_FU_2)[this.getGanIndex() + 1]; + }, + getPositionFuDesc:function(sect){ + return LunarUtil.POSITION_DESC.get(this.getPositionFu(sect)); + }, + getPositionCai:function(){ + return LunarUtil.POSITION_CAI[this.getGanIndex() + 1]; + }, + getPositionCaiDesc:function(){ + return LunarUtil.POSITION_DESC.get(this.getPositionCai()); + }, getPositionTaiSui:function(){ var p; var m = Math.abs(this._p.month); @@ -2914,7 +2967,7 @@ }; return { fromYm:function(lunarYear,lunarMonth){return _fromYm(lunarYear,lunarMonth);}, - _:function(lunarYear, lunarMonth, dayCount, firstJulianDay){return _new(lunarYear, lunarMonth, dayCount, firstJulianDay);} + _:function(lunarYear, lunarMonth, dayCount, firstJulianDay, index){return _new(lunarYear, lunarMonth, dayCount, firstJulianDay, index);} }; })(); var ShouXingUtil = (function(){ @@ -3166,8 +3219,146 @@ DAYS_OF_MONTH:[31,28,31,30,31,30,31,31,30,31,30,31], XINGZUO:['白羊','金牛','双子','巨蟹','狮子','处女','天秤','天蝎','射手','摩羯','水瓶','双鱼'], FESTIVAL:{'1-1':'元旦节','2-14':'情人节','3-8':'妇女节','3-12':'植树节','3-15':'消费者权益日','4-1':'愚人节','5-1':'劳动节','5-4':'青年节','6-1':'儿童节','7-1':'建党节','8-1':'建军节','9-10':'教师节','10-1':'国庆节','10-31':'万圣节前夜','11-1':'万圣节','12-24':'平安夜','12-25':'圣诞节'}, - OTHER_FESTIVAL:{'1-8':['周恩来逝世纪念日'],'1-10':['中国人民警察节','中国公安110宣传日'],'1-21':['列宁逝世纪念日'],'1-26':['国际海关日'],'2-2':['世界湿地日'],'2-4':['世界抗癌日'],'2-7':['京汉铁路罢工纪念'],'2-10':['国际气象节'],'2-19':['邓小平逝世纪念日'],'2-21':['国际母语日'],'2-24':['第三世界青年日'],'3-1':['国际海豹日'],'3-3':['全国爱耳日'],'3-5':['周恩来诞辰纪念日','中国青年志愿者服务日'],'3-6':['世界青光眼日'],'3-12':['孙中山逝世纪念日'],'3-14':['马克思逝世纪念日'],'3-17':['国际航海日'],'3-18':['全国科技人才活动日'],'3-21':['世界森林日','世界睡眠日'],'3-22':['世界水日'],'3-23':['世界气象日'],'3-24':['世界防治结核病日'],'4-2':['国际儿童图书日'],'4-7':['世界卫生日'],'4-22':['列宁诞辰纪念日'],'4-23':['世界图书和版权日'],'4-26':['世界知识产权日'],'5-3':['世界新闻自由日'],'5-5':['马克思诞辰纪念日'],'5-8':['世界红十字日'],'5-11':['世界肥胖日'],'5-25':['525心理健康节'],'5-27':['上海解放日'],'5-31':['世界无烟日'],'6-5':['世界环境日'],'6-6':['全国爱眼日'],'6-8':['世界海洋日'],'6-11':['中国人口日'],'6-14':['世界献血日'],'7-1':['香港回归纪念日'],'7-7':['中国人民抗日战争纪念日'],'7-11':['世界人口日'],'8-5':['恩格斯逝世纪念日'],'8-6':['国际电影节'],'8-12':['国际青年日'],'8-22':['邓小平诞辰纪念日'],'9-3':['中国抗日战争胜利纪念日'],'9-8':['世界扫盲日'],'9-9':['毛泽东逝世纪念日'],'9-14':['世界清洁地球日'],'9-18':['九一八事变纪念日'],'9-20':['全国爱牙日'],'9-21':['国际和平日'],'9-27':['世界旅游日'],'10-4':['世界动物日'],'10-10':['辛亥革命纪念日'],'10-13':['中国少年先锋队诞辰日'],'10-25':['抗美援朝纪念日'],'11-12':['孙中山诞辰纪念日'],'11-17':['国际大学生节'],'11-28':['恩格斯诞辰纪念日'],'12-1':['世界艾滋病日'],'12-12':['西安事变纪念日'],'12-13':['国家公祭日'],'12-26':['毛泽东诞辰纪念日']}, - WEEK_FESTIVAL:{'3-0-1':'全国中小学生安全教育日','5-2-0':'母亲节','6-3-0':'父亲节','11-4-4':'感恩节'}, + OTHER_FESTIVAL:{ + '1-8':['周恩来逝世纪念日'], + '1-10':['中国人民警察节'], + '1-14':['日记情人节'], + '1-21':['列宁逝世纪念日'], + '1-26':['国际海关日'], + '1-27':['国际大屠杀纪念日'], + '2-2':['世界湿地日'], + '2-4':['世界抗癌日'], + '2-7':['京汉铁路罢工纪念日'], + '2-10':['国际气象节'], + '2-19':['邓小平逝世纪念日'], + '2-20':['世界社会公正日'], + '2-21':['国际母语日'], + '2-24':['第三世界青年日'], + '3-1':['国际海豹日'], + '3-3':['世界野生动植物日', '全国爱耳日'], + '3-5':['周恩来诞辰纪念日', '中国青年志愿者服务日'], + '3-6':['世界青光眼日'], + '3-7':['女生节'], + '3-12':['孙中山逝世纪念日'], + '3-14':['马克思逝世纪念日', '白色情人节'], + '3-17':['国际航海日'], + '3-18':['全国科技人才活动日', '全国爱肝日'], + '3-20':['国际幸福日'], + '3-21':['世界森林日', '世界睡眠日', '国际消除种族歧视日'], + '3-22':['世界水日'], + '3-23':['世界气象日'], + '3-24':['世界防治结核病日'], + '3-29':['中国黄花岗七十二烈士殉难纪念日'], + '4-2':['国际儿童图书日', '世界自闭症日'], + '4-4':['国际地雷行动日'], + '4-7':['世界卫生日'], + '4-8':['国际珍稀动物保护日'], + '4-12':['世界航天日'], + '4-14':['黑色情人节'], + '4-15':['全民国家安全教育日'], + '4-22':['世界地球日', '列宁诞辰纪念日'], + '4-23':['世界读书日'], + '4-24':['中国航天日'], + '4-25':['儿童预防接种宣传日'], + '4-26':['世界知识产权日', '全国疟疾日'], + '4-28':['世界安全生产与健康日'], + '4-30':['全国交通安全反思日'], + '5-2':['世界金枪鱼日'], + '5-3':['世界新闻自由日'], + '5-5':['马克思诞辰纪念日'], + '5-8':['世界红十字日'], + '5-11':['世界肥胖日'], + '5-12':['全国防灾减灾日', '护士节'], + '5-14':['玫瑰情人节'], + '5-15':['国际家庭日'], + '5-19':['中国旅游日'], + '5-20':['网络情人节'], + '5-22':['国际生物多样性日'], + '5-25':['525心理健康节'], + '5-27':['上海解放日'], + '5-29':['国际维和人员日'], + '5-30':['中国五卅运动纪念日'], + '5-31':['世界无烟日'], + '6-3':['世界自行车日'], + '6-5':['世界环境日'], + '6-6':['全国爱眼日'], + '6-8':['世界海洋日'], + '6-11':['中国人口日'], + '6-14':['世界献血日', '亲亲情人节'], + '6-17':['世界防治荒漠化与干旱日'], + '6-20':['世界难民日'], + '6-21':['国际瑜伽日'], + '6-25':['全国土地日'], + '6-26':['国际禁毒日', '联合国宪章日'], + '7-1':['香港回归纪念日'], + '7-6':['国际接吻日', '朱德逝世纪念日'], + '7-7':['七七事变纪念日'], + '7-11':['世界人口日', '中国航海日'], + '7-14':['银色情人节'], + '7-18':['曼德拉国际日'], + '7-30':['国际友谊日'], + '8-3':['男人节'], + '8-5':['恩格斯逝世纪念日'], + '8-6':['国际电影节'], + '8-8':['全民健身日'], + '8-9':['国际土著人日'], + '8-12':['国际青年节'], + '8-14':['绿色情人节'], + '8-19':['世界人道主义日', '中国医师节'], + '8-22':['邓小平诞辰纪念日'], + '8-29':['全国测绘法宣传日'], + '9-3':['中国抗日战争胜利纪念日'], + '9-5':['中华慈善日'], + '9-8':['世界扫盲日'], + '9-9':['毛泽东逝世纪念日', '全国拒绝酒驾日'], + '9-14':['世界清洁地球日', '相片情人节'], + '9-15':['国际民主日'], + '9-16':['国际臭氧层保护日'], + '9-17':['世界骑行日'], + '9-18':['九一八事变纪念日'], + '9-20':['全国爱牙日'], + '9-21':['国际和平日'], + '9-27':['世界旅游日'], + '9-30':['中国烈士纪念日'], + '10-1':['国际老年人日'], + '10-2':['国际非暴力日'], + '10-4':['世界动物日'], + '10-11':['国际女童日'], + '10-10':['辛亥革命纪念日'], + '10-13':['国际减轻自然灾害日', '中国少年先锋队诞辰日'], + '10-14':['葡萄酒情人节'], + '10-16':['世界粮食日'], + '10-17':['全国扶贫日'], + '10-20':['世界统计日'], + '10-24':['世界发展信息日', '程序员节'], + '10-25':['抗美援朝纪念日'], + '11-5':['世界海啸日'], + '11-8':['记者节'], + '11-9':['全国消防日'], + '11-11':['光棍节'], + '11-12':['孙中山诞辰纪念日'], + '11-14':['电影情人节'], + '11-16':['国际宽容日'], + '11-17':['国际大学生节'], + '11-19':['世界厕所日'], + '11-28':['恩格斯诞辰纪念日'], + '11-29':['国际声援巴勒斯坦人民日'], + '12-1':['世界艾滋病日'], + '12-2':['全国交通安全日'], + '12-3':['世界残疾人日'], + '12-4':['全国法制宣传日'], + '12-5':['世界弱能人士日', '国际志愿人员日'], + '12-7':['国际民航日'], + '12-9':['世界足球日', '国际反腐败日'], + '12-10':['世界人权日'], + '12-11':['国际山岳日'], + '12-12':['西安事变纪念日'], + '12-13':['国家公祭日'], + '12-14':['拥抱情人节'], + '12-18':['国际移徙者日'], + '12-26':['毛泽东诞辰纪念日'] + }, + WEEK_FESTIVAL:{'3-0-1':'全国中小学生安全教育日','5-2-0':'母亲节','5-3-0':'全国助残日','6-3-0':'父亲节','9-3-6':'全民国防教育日','10-1-1':'世界住房日','11-4-4':'感恩节'}, isLeapYear:function(year){return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);}, getDaysOfMonth:function(year, month){ var oy = year; @@ -3325,7 +3516,7 @@ SEASON:['','孟春','仲春','季春','孟夏','仲夏','季夏','孟秋','仲秋','季秋','孟冬','仲冬','季冬'], SHENGXIAO:['','鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪'], DAY:['','初一','初二','初三','初四','初五','初六','初七','初八','初九','初十','十一','十二','十三','十四','十五','十六','十七','十八','十九','二十','廿一','廿二','廿三','廿四','廿五','廿六','廿七','廿八','廿九','三十'], - YUE_XIANG:['','朔','既朔','蛾眉新','蛾眉新','蛾眉','夕月','上弦','上弦','九夜','宵','宵','宵','渐盈凸','小望','望','既望','立待','居待','寝待','更待','渐亏凸','下弦','下弦','有明','有明','蛾眉残','蛾眉残','残','晓','晦'], + YUE_XIANG:['','朔','既朔','蛾眉新','蛾眉新','蛾眉','夕','上弦','上弦','九夜','宵','宵','宵','渐盈凸','小望','望','既望','立待','居待','寝待','更待','渐亏凸','下弦','下弦','有明','有明','蛾眉残','蛾眉残','残','晓','晦'], XIU:{'申1':'毕','申2':'翼','申3':'箕','申4':'奎','申5':'鬼','申6':'氐','申0':'虚','子1':'毕','子2':'翼','子3':'箕','子4':'奎','子5':'鬼','子6':'氐','子0':'虚','辰1':'毕','辰2':'翼','辰3':'箕','辰4':'奎','辰5':'鬼','辰6':'氐','辰0':'虚','巳1':'危','巳2':'觜','巳3':'轸','巳4':'斗','巳5':'娄','巳6':'柳','巳0':'房','酉1':'危','酉2':'觜','酉3':'轸','酉4':'斗','酉5':'娄','酉6':'柳','酉0':'房','丑1':'危','丑2':'觜','丑3':'轸','丑4':'斗','丑5':'娄','丑6':'柳','丑0':'房','寅1':'心','寅2':'室','寅3':'参','寅4':'角','寅5':'牛','寅6':'胃','寅0':'星','午1':'心','午2':'室','午3':'参','午4':'角','午5':'牛','午6':'胃','午0':'星','戌1':'心','戌2':'室','戌3':'参','戌4':'角','戌5':'牛','戌6':'胃','戌0':'星','亥1':'张','亥2':'尾','亥3':'壁','亥4':'井','亥5':'亢','亥6':'女','亥0':'昴','卯1':'张','卯2':'尾','卯3':'壁','卯4':'井','卯5':'亢','卯6':'女','卯0':'昴','未1':'张','未2':'尾','未3':'壁','未4':'井','未5':'亢','未6':'女','未0':'昴'}, XIU_LUCK:{'角':'吉','亢':'凶','氐':'凶','房':'吉','心':'凶','尾':'吉','箕':'吉','斗':'吉','牛':'凶','女':'凶','虚':'凶','危':'凶','室':'吉','壁':'吉','奎':'凶','娄':'吉','胃':'吉','昴':'凶','毕':'吉','觜':'凶','参':'吉','井':'吉','鬼':'凶','柳':'凶','星':'凶','张':'吉','翼':'凶','轸':'吉'}, XIU_SONG:{'角':'角星造作主荣昌,外进田财及女郎,嫁娶婚姻出贵子,文人及第见君王,惟有埋葬不可用,三年之后主瘟疫,起工修筑坟基地,堂前立见主人凶。','亢':'亢星造作长房当,十日之中主有殃,田地消磨官失职,接运定是虎狼伤,嫁娶婚姻用此日,儿孙新妇守空房,埋葬若还用此日,当时害祸主重伤。','氐':'氐星造作主灾凶,费尽田园仓库空,埋葬不可用此日,悬绳吊颈祸重重,若是婚姻离别散,夜招浪子入房中,行船必定遭沉没,更生聋哑子孙穷。','房':'房星造作田园进,钱财牛马遍山岗,更招外处田庄宅,荣华富贵福禄康,埋葬若然用此日,高官进职拜君王,嫁娶嫦娥至月殿,三年抱子至朝堂。','心':'心星造作大为凶,更遭刑讼狱囚中,忤逆官非宅产退,埋葬卒暴死相从,婚姻若是用此日,子死儿亡泪满胸,三年之内连遭祸,事事教君没始终。','尾':'尾星造作主天恩,富贵荣华福禄增,招财进宝兴家宅,和合婚姻贵子孙,埋葬若能依此日,男清女正子孙兴,开门放水招田宅,代代公侯远播名。','箕':'箕星造作主高强,岁岁年年大吉昌,埋葬修坟大吉利,田蚕牛马遍山岗,开门放水招田宅,箧满金银谷满仓,福荫高官加禄位,六亲丰禄乐安康。','斗':'斗星造作主招财,文武官员位鼎台,田宅家财千万进,坟堂修筑贵富来,开门放水招牛马,旺蚕男女主和谐,遇此吉宿来照护,时支福庆永无灾。','牛':'牛星造作主灾危,九横三灾不可推,家宅不安人口退,田蚕不利主人衰,嫁娶婚姻皆自损,金银财谷渐无之,若是开门并放水,牛猪羊马亦伤悲。','女':'女星造作损婆娘,兄弟相嫌似虎狼,埋葬生灾逢鬼怪,颠邪疾病主瘟惶,为事遭官财失散,泻利留连不可当,开门放水用此日,全家财散主离乡。','虚':'虚星造作主灾殃,男女孤眠不一双,内乱风声无礼节,儿孙媳妇伴人床,开门放水遭灾祸,虎咬蛇伤又卒亡,三三五五连年病,家破人亡不可当。','危':'危星不可造高楼,自遭刑吊见血光,三年孩子遭水厄,后生出外永不还,埋葬若还逢此日,周年百日取高堂,三年两载一悲伤,开门放水到官堂。','室':'室星修造进田牛,儿孙代代近王侯,家贵荣华天上至,寿如彭祖八千秋,开门放水招财帛,和合婚姻生贵儿,埋葬若能依此日,门庭兴旺福无休。','壁':'壁星造作主增财,丝蚕大熟福滔天,奴婢自来人口进,开门放水出英贤,埋葬招财官品进,家中诸事乐陶然,婚姻吉利主贵子,早播名誉著祖鞭。','奎':'奎星造作得祯祥,家内荣和大吉昌,若是埋葬阴卒死,当年定主两三伤,看看军令刑伤到,重重官事主瘟惶,开门放水遭灾祸,三年两次损儿郎。','娄':'娄星修造起门庭,财旺家和事事兴,外进钱财百日进,一家兄弟播高名,婚姻进益生贵子,玉帛金银箱满盈,放水开门皆吉利,男荣女贵寿康宁。','胃':'胃星造作事如何,家贵荣华喜气多,埋葬贵临官禄位,夫妇齐眉永保康,婚姻遇此家富贵,三灾九祸不逢他,从此门前多吉庆,儿孙代代拜金阶。','昴':'昴星造作进田牛,埋葬官灾不得休,重丧二日三人死,尽卖田园不记增,开门放水招灾祸,三岁孩儿白了头,婚姻不可逢此日,死别生离是可愁。','毕':'毕星造作主光前,买得田园有余钱,埋葬此日添官职,田蚕大熟永丰年,开门放水多吉庆,合家人口得安然,婚姻若得逢此日,生得孩儿福寿全。','觜':'觜星造作有徒刑,三年必定主伶丁,埋葬卒死多因此,取定寅年使杀人,三丧不止皆由此,一人药毒二人身,家门田地皆退败,仓库金银化作尘。','参':'参星造作旺人家,文星照耀大光华,只因造作田财旺,埋葬招疾哭黄沙,开门放水加官职,房房子孙见田加,婚姻许遁遭刑克,男女朝开幕落花。','井':'井星造作旺蚕田,金榜题名第一光,埋葬须防惊卒死,狂颠风疾入黄泉,开门放水招财帛,牛马猪羊旺莫言,贵人田塘来入宅,儿孙兴旺有余钱。','鬼':'鬼星起造卒人亡,堂前不见主人郎,埋葬此日官禄至,儿孙代代近君王,开门放水须伤死,嫁娶夫妻不久长,修土筑墙伤产女,手扶双女泪汪汪。','柳':'柳星造作主遭官,昼夜偷闭不暂安,埋葬瘟惶多疾病,田园退尽守冬寒,开门放水遭聋瞎,腰驼背曲似弓弯,更有棒刑宜谨慎,妇人随客走盘桓。','星':'星宿日好造新房,进职加官近帝王,不可埋葬并放水,凶星临位女人亡,生离死别无心恋,要自归休别嫁郎,孔子九曲殊难度,放水开门天命伤。','张':'张星日好造龙轩,年年并见进庄田,埋葬不久升官职,代代为官近帝前,开门放水招财帛,婚姻和合福绵绵,田蚕人满仓库满,百般顺意自安然。','翼':'翼星不利架高堂,三年二载见瘟惶,埋葬若还逢此日,子孙必定走他乡,婚姻此日不宜利,归家定是不相当,开门放水家须破,少女恋花贪外郎。','轸':'轸星临水造龙宫,代代为官受皇封,富贵荣华增寿禄,库满仓盈自昌隆,埋葬文昌来照助,宅舍安宁不见凶,更有为官沾帝宠,婚姻龙子入龙宫。'}, @@ -4696,6 +4887,38 @@ '12-29': [_f('华严菩萨诞'), _t], '12-30': [_f('诸神下降,察访善恶', '犯者男女俱亡')] }, + OTHER_FESTIVAL:{ + '1-1': ['弥勒菩萨圣诞'], + '1-6': ['定光佛圣诞'], + '2-8': ['释迦牟尼佛出家'], + '2-15': ['释迦牟尼佛涅槃'], + '2-19': ['观世音菩萨圣诞'], + '2-21': ['普贤菩萨圣诞'], + '3-16': ['准提菩萨圣诞'], + '4-4': ['文殊菩萨圣诞'], + '4-8': ['释迦牟尼佛圣诞'], + '4-15': ['佛吉祥日'], + '4-28': ['药王菩萨圣诞'], + '5-13': ['伽蓝菩萨圣诞'], + '6-3': ['韦驮菩萨圣诞'], + '6-19': ['观音菩萨成道'], + '7-13': ['大势至菩萨圣诞'], + '7-15': ['佛欢喜日'], + '7-24': ['龙树菩萨圣诞'], + '7-30': ['地藏菩萨圣诞'], + '8-15': ['月光菩萨圣诞'], + '8-22': ['燃灯佛圣诞'], + '9-9': ['摩利支天菩萨圣诞'], + '9-19': ['观世音菩萨出家'], + '9-30': ['药师琉璃光佛圣诞'], + '10-5': ['达摩祖师圣诞'], + '10-20': ['文殊菩萨出家'], + '11-17': ['阿弥陀佛圣诞'], + '11-19': ['日光菩萨圣诞'], + '12-8': ['释迦牟尼佛成道'], + '12-23': ['监斋菩萨圣诞'], + '12-29': ['华严菩萨圣诞'] + }, getXiu:function(m,d){return _getXiu(m,d);} } })(); @@ -4734,6 +4957,14 @@ var l = FotoUtil.FESTIVAL[this.getMonth()+'-'+this.getDay()]; return l?l:[]; }, + getOtherFestivals:function(){ + var l=[]; + var fs=FotoUtil.OTHER_FESTIVAL[this.getMonth()+'-'+this.getDay()]; + if(fs){ + l=l.concat(fs); + } + return l; + }, isMonthZhai:function(){ var m = this.getMonth(); return 1===m||5===m||9===m; diff --git a/package.json b/package.json index 090e000..34d1314 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lunar-javascript", - "version": "1.3.3", + "version": "1.3.4", "description": "lunar is a calendar library for Solar and Chinese Lunar.", "main": "index.js", "scripts": {