v1.0.36 更新农历纪念日;新增六曜、物候。
This commit is contained in:
7
index.js
7
index.js
@@ -1,13 +1,16 @@
|
||||
const {Solar, Lunar, SolarWeek, SolarMonth, SolarSeason, SolarHalfYear, SolarUtil, LunarUtil, HolidayUtil} = require('./lunar.js')
|
||||
const {Solar, Lunar, NineStar, EightChar, SolarWeek, SolarMonth, SolarSeason, SolarHalfYear, SolarYear, SolarUtil, LunarUtil, HolidayUtil} = require('./lunar.js')
|
||||
|
||||
module.exports = {
|
||||
Solar: Solar,
|
||||
Lunar: Lunar,
|
||||
NineStar: NineStar,
|
||||
EightChar: EightChar,
|
||||
SolarWeek: SolarWeek,
|
||||
SolarMonth: SolarMonth,
|
||||
SolarSeason: SolarSeason,
|
||||
SolarHalfYear: SolarHalfYear,
|
||||
SolarYear: SolarYear,
|
||||
SolarUtil: SolarUtil,
|
||||
LunarUtil: LunarUtil,
|
||||
HolidayUtil: HolidayUtil
|
||||
}
|
||||
}
|
||||
|
||||
36
lunar.js
36
lunar.js
@@ -303,7 +303,8 @@
|
||||
};
|
||||
})();
|
||||
var Lunar = (function(){
|
||||
var SECOND_PER_RAD = 180 * 3600 / Math.PI;
|
||||
var MS_PER_DAY = 86400000;
|
||||
var SECOND_PER_RAD = 648000 / Math.PI;
|
||||
var JIE_QI = ['冬至','小寒','大寒','立春','雨水','惊蛰','春分','清明','谷雨','立夏','小满','芒种','夏至','小暑','大暑','立秋','处暑','白露','秋分','寒露','霜降','立冬','小雪','大雪'];
|
||||
var NUT_B = [2.1824, -33.75705, 36e-6, -1720, 920, 3.5069, 1256.66393, 11e-6, -132, 57, 1.3375, 16799.4182, -51e-6, -23, 10, 4.3649, -67.5141, 72e-6, 21, -9, 0.04, -628.302, 0, -14, 0, 2.36, 8328.691, 0, 7, 0, 3.46, 1884.966, 0, -5, 2, 5.44, 16833.175, 0, -4, 2, 3.69, 25128.110, 0, -3, 0, 3.55, 628.362, 0, 2, 0];
|
||||
var DT_AT = [-4000, 108371.7, -13036.80, 392.000, 0.0000, -500, 17201.0, -627.82, 16.170, -0.3413, -150, 12200.6, -346.41, 5.403, -0.1593, 150, 9113.8, -328.13, -1.647, 0.0377, 500, 5707.5, -391.41, 0.915, 0.3145, 900, 2203.4, -283.45, 13.034, -0.1778, 1300, 490.1, -57.35, 2.085, -0.0072, 1600, 120.0, -9.81, -1.532, 0.1403, 1700, 10.2, -0.91, 0.510, -0.0370, 1800, 13.4, -0.72, 0.202, -0.0193, 1830, 7.8, -1.81, 0.416, -0.0247, 1860, 8.3, -0.13, -0.406, 0.0292, 1880, -5.4, 0.32, -0.183, 0.0173, 1900, -2.3, 2.06, 0.169, -0.0135, 1920, 21.2, 1.69, -0.304, 0.0167, 1940, 24.2, 1.22, -0.064, 0.0031, 1960, 33.2, 0.51, 0.231, -0.0109, 1980, 51.0, 1.29, -0.026, 0.0032, 2000, 63.87, 0.1, 0, 0, 2005, 64.7, 0.4, 0, 0, 2015, 69];
|
||||
@@ -1614,7 +1615,7 @@
|
||||
if (currentCalendar < startCalendar || currentCalendar >= endCalendar) {
|
||||
return null;
|
||||
}
|
||||
var days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / (1000 * 60 * 60 * 24));
|
||||
var days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / MS_PER_DAY);
|
||||
return this._buildNameAndIndex(LunarUtil.NUMBER[Math.floor(days / 9) + 1] + '九', days % 9 + 1);
|
||||
},
|
||||
getFu:function(){
|
||||
@@ -1637,7 +1638,7 @@
|
||||
return null;
|
||||
}
|
||||
|
||||
var days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / (1000 * 60 * 60 * 24));
|
||||
var days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / MS_PER_DAY);
|
||||
if (days < 10) {
|
||||
return this._buildNameAndIndex('初伏', days + 1);
|
||||
}
|
||||
@@ -1645,7 +1646,7 @@
|
||||
// 第4个庚日,中伏第1天
|
||||
startCalendar.setDate(startCalendar.getDate() + 10);
|
||||
|
||||
days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / (1000 * 60 * 60 * 24));
|
||||
days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / MS_PER_DAY);
|
||||
if (days < 10) {
|
||||
return this._buildNameAndIndex('中伏', days + 1);
|
||||
}
|
||||
@@ -1655,7 +1656,7 @@
|
||||
|
||||
var liQiuCalendar = new Date(liQiu.getYear() + '/' + liQiu.getMonth() + '/' + liQiu.getDay() + ' 0:0:0');
|
||||
|
||||
days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / (1000 * 60 * 60 * 24));
|
||||
days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / MS_PER_DAY);
|
||||
// 末伏
|
||||
if (liQiuCalendar <= startCalendar) {
|
||||
if (days < 10) {
|
||||
@@ -1668,12 +1669,31 @@
|
||||
}
|
||||
// 末伏第1天
|
||||
startCalendar.setDate(startCalendar.getDate() + 10);
|
||||
days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / (1000 * 60 * 60 * 24));
|
||||
days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / MS_PER_DAY);
|
||||
if (days < 10) {
|
||||
return this._buildNameAndIndex('末伏', days + 1);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
},
|
||||
getLiuYao:function(){
|
||||
return LunarUtil.LIU_YAO[(Math.abs(this._p.month)+this._p.day-2)%6];
|
||||
},
|
||||
getWuHou:function(){
|
||||
var jieQi = this.getPrevJieQi();
|
||||
var name = jieQi.getName();
|
||||
var offset = 0;
|
||||
for(var i=0,j=JIE_QI.length;i<j;i++){
|
||||
if(name === JIE_QI[i]){
|
||||
offset = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
var currentCalendar = new Date(this._p.solar.getYear() + '/' + this._p.solar.getMonth() + '/' + this._p.solar.getDay() + ' 0:0:0');
|
||||
var startSolar = jieQi.getSolar();
|
||||
var startCalendar = new Date(startSolar.getYear() + '/' + startSolar.getMonth() + '/' + startSolar.getDay() + ' 0:0:0');
|
||||
var days = Math.floor((currentCalendar.getTime() - startCalendar.getTime()) / MS_PER_DAY);
|
||||
return LunarUtil.WU_HOU[offset*3+Math.floor(days/5)];
|
||||
}
|
||||
};
|
||||
};
|
||||
@@ -2131,6 +2151,8 @@
|
||||
BASE_WEEK_INDEX:2,
|
||||
XUN:['甲子','甲戌','甲申','甲午','甲辰','甲寅'],
|
||||
XUN_KONG:['戌亥','申酉','午未','辰巳','寅卯','子丑'],
|
||||
LIU_YAO:['先胜','友引','先负','佛灭','大安','赤口'],
|
||||
WU_HOU:['蚯蚓结','麋角解','水泉动','雁北乡','鹊始巢','雉始雊','鸡始乳','征鸟厉疾','水泽腹坚','东风解冻','蛰虫始振','鱼陟负冰','獭祭鱼','候雁北','草木萌动','桃始华','仓庚鸣','鹰化为鸠','玄鸟至','雷乃发声','始电','桐始华','田鼠化为鴽','虹始见','萍始生','鸣鸠拂奇羽','戴胜降于桑','蝼蝈鸣','蚯蚓出','王瓜生','苦菜秀','靡草死','麦秋至','螳螂生','鵙始鸣','反舌无声','鹿角解','蜩始鸣','半夏生','温风至','蟋蟀居壁','鹰始挚','腐草为萤','土润溽暑','大雨行时','凉风至','白露降','寒蝉鸣','鹰乃祭鸟','天地始肃','禾乃登','鸿雁来','玄鸟归','群鸟养羞','雷始收声','蛰虫坯户','水始涸','鸿雁来宾','雀入大水为蛤','菊有黄花','豺乃祭兽','草木黄落','蛰虫咸俯','水始冰','地始冻','雉入大水为蜃','虹藏不见','天气上升地气下降','闭塞而成冬','鹖鴠不鸣','虎始交','荔挺出'],
|
||||
GAN:['','甲','乙','丙','丁','戊','己','庚','辛','壬','癸'],
|
||||
POSITION_XI:['','艮','乾','坤','离','巽','艮','乾','坤','离','巽'],
|
||||
POSITION_YANG_GUI:['','坤','坤','兑','乾','艮','坎','离','艮','震','巽'],
|
||||
@@ -2166,7 +2188,7 @@
|
||||
GONG:{'角':'东','井':'南','奎':'西','斗':'北','亢':'东','鬼':'南','娄':'西','牛':'北','氐':'南','柳':'南','胃':'西','女':'北','房':'东','星':'南','昴':'西','虚':'北','心':'东','张':'南','毕':'西','危':'北','尾':'东','翼':'南','觜':'西','室':'北','箕':'东','轸':'南','参':'西','壁':'北' },
|
||||
SHOU:{'东':'青龙','南':'朱雀','西':'白虎','北':'玄武'},
|
||||
FESTIVAL:{'1-1':'春节','1-15':'元宵节','2-2':'龙头节','5-5':'端午节','7-7':'七夕节','8-15':'中秋节','9-9':'重阳节','12-8':'腊八节','12-30':'除夕'},
|
||||
OTHER_FESTIVAL:{'1-1':['弥勒佛圣诞'],'1-8':['五殿阎罗天子诞'],'1-9':['玉皇上帝诞'],'2-1':['一殿秦广王诞'],'2-2':['福德土地正神诞'],'2-3':['文昌帝君诞'],'2-6':['东华帝君诞'],'2-8':['释迦牟尼佛出家'],'2-15':['释迦牟尼佛般涅槃'],'2-17':['东方杜将军诞'],'2-18':['至圣先师孔子讳辰'],'2-19':['观音大士诞'],'2-21':['普贤菩萨诞'],'3-1':['二殿楚江王诞'],'3-3':['玄天上帝诞'],'3-8':['六殿卞城王诞'],'3-15':['昊天上帝诞'],'3-16':['准提菩萨诞'],'3-19':['中岳大帝诞'],'3-20':['子孙娘娘诞'],'3-27':['七殿泰山王诞'],'3-28':['苍颉至圣先师诞'],'4-1':['八殿都市王诞'],'4-4':['文殊菩萨诞'],'4-8':['释迦牟尼佛诞'],'4-14':['纯阳祖师诞'],'4-15':['钟离祖师诞'],'4-17':['十殿转轮王诞'],'4-18':['紫徽大帝诞'],'4-20':['眼光圣母诞'],'5-1':['南极长生大帝诞'],'5-8':['南方五道诞'],'5-11':['天下都城隍诞'],'5-12':['炳灵公诞'],'5-13':['关圣降'],'5-16':['天地元气造化万物之辰'],'5-18':['张天师诞'],'5-22':['孝娥神诞'],'6-19':['观世音菩萨成道日'],'6-24':['关帝诞'],'7-7':['魁星诞'],'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-29':['至圣先师孔子诞'],'9-1':['北斗九星降世'],'9-3':['五瘟神诞'],'9-9':['酆都大帝诞'],'9-13':['孟婆尊神诞'],'9-17':['金龙四大王诞'],'9-19':['观世音菩萨出家'],'9-30':['药师琉璃光佛诞'],'10-1':['寒衣节'],'10-3':['三茅诞'],'10-5':['达摩祖师诞'],'10-8':['佛涅槃日'],'10-15':['下元节'],'11-4':['至圣先师孔子诞'],'11-6':['西岳大帝诞'],'11-11':['太乙救苦天尊诞'],'11-17':['阿弥陀佛诞'],'11-19':['太阳日宫诞'],'11-23':['张仙诞'],'11-26':['北方五道诞'],'12-8':['释迦如来成佛之辰'],'12-16':['南岳大帝诞'],'12-21':['天猷上帝诞'],'12-23':['小年'],'12-24':['子时灶君上天朝玉帝'],'12-29':['华严菩萨诞']},
|
||||
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:{'甲':'戊','乙':'己','丙':'庚','丁':'辛','戊':'壬','己':'癸','庚':'甲','辛':'乙','壬':'丙','癸':'丁'},
|
||||
CHONG_GAN_BAD:{'庚':'甲','辛':'乙','壬':'丙','癸':'丁'},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "lunar-javascript",
|
||||
"version": "1.0.35",
|
||||
"version": "1.0.36",
|
||||
"description": "lunar is a calendar library for Solar and Chinese Lunar.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user