/**
- * å\86\9cå\8e\86ï¼\88é\98´å\8e\86ï¼\89ä¸\87å¹´å\8e\86
+ * è¾²æ\9b\86ï¼\88é\99°æ\9b\86ï¼\89è\90¬å¹´æ\9b\86
* LunarCalendar
* vervison : v0.1.4
* Github : https://github.com/zzyss86/LunarCalendar
}
return o;
};
-
+
var creatLenArr = function(year,month,len,start){
var arr = [];
start = start || 0;
}
return arr;
};
-
- var errorCode = { //é\94\99误ç \81列表
- 100 : 'è¾\93å\85¥ç\9a\84年份è¶\85è¿\87äº\86å\8f¯æ\9f¥è¯¢è\8c\83å\9b´ï¼\8cä»\85æ\94¯æ\8c\811891è\87³2100å¹´',
- 101 : 'å\8f\82æ\95°è¾\93å\85¥é\94\99误ï¼\8c请æ\9f¥é\98\85æ\96\87æ¡£'
+
+ var errorCode = { //é\8c¯èª¤ç¢¼列表
+ 100 : '輸å\85¥ç\9a\84年份è¶\85é\81\8eäº\86å\8f¯æ\9f¥è©¢ç¯\84å\9c\8dï¼\8cå\83\85æ\94¯æ\8c\811891è\87³2100å¹´',
+ 101 : 'å\8f\83æ\95¸è¼¸å\85¥é\8c¯èª¤ï¼\8cè«\8bæ\9f¥é\96±æ\96\87æª\94'
};
-
- var cache = null; //æ\9f\90å¹´ç\9b¸å\90\8c计ç®\97è¿\9bè¡\8ccacheï¼\8c以å\8a é\80\9f计算速度
+
+ var cache = null; //æ\9f\90å¹´ç\9b¸å\90\8cè¨\88ç®\97é\80²è¡\8ccacheï¼\8c以å\8a é\80\9fè¨\88算速度
var cacheUtil = { //cache管理工具
current : '',
setCurrent : function(year){
cache = null;
}
};
-
+
var formateDayD4 = function(month,day){
month = month+1;
month = month<10 ? '0'+month : month;
day = day<10 ? '0'+day : day;
return 'd'+month+day;
};
-
+
var minYear = 1890;//最小年限
var maxYear = 2100;//最大年限
var DATA = {
heavenlyStems: ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸'], //天干
earthlyBranches: ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥'], //地支
- zodiac: ['é¼ ','ç\89\9b','è\99\8e','å\85\94','é¾\99','è\9b\87','马','ç¾\8a','ç\8c´','鸡','ç\8b\97','ç\8cª'], //对åº\94地支十二生肖
- solarTerm: ['小寒', '大寒', '立春', '雨水', '惊蛰', '春分', '清明', '谷雨', '立夏', '小满', '芒种', '夏至', '小暑', '大暑', '立秋', '处暑', '白露', '秋分', '寒露', '霜降', '立冬', '小雪', '大雪','冬至'], //二十四节气
+ zodiac: ['é¼ ','ç\89\9b','è\99\8e','å\85\94','é¾\8d','è\9b\87','馬','ç¾\8a','ç\8c´','é\9b\9e','ç\8b\97','豬'], //å°\8dæ\87\89地支十二生肖
+ solarTerm: ['小寒', '大寒', '立春', '雨水', '驚蟄', '春分', '清明', '穀雨', '立夏', '小滿', '芒種', '夏至', '小暑', '大暑', '立秋', '處暑', '白露', '秋分', '寒露', '霜降', '立冬', '小雪', '大雪','冬至'], //二十四節氣
monthCn: ['正', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],
dateCn: ['初一', '初二', '初三', '初四', '初五', '初六', '初七', '初八', '初九', '初十', '十一', '十二', '十三', '十四', '十五', '十六', '十七', '十八', '十九', '二十', '廿一', '廿二', '廿三', '廿四', '廿五', '廿六', '廿七', '廿八', '廿九', '三十', '卅一']
};
-
- //ä¸å\9b½è\8a\82æ\97¥æ\94¾å\81\87å®\89æ\8e\92ï¼\8cå¤\96é\83¨è®¾ç½®ï¼\8c0æ\97 特殊安排,1工作,2放假
+
+ //ä¸å\9c\8bç¯\80æ\97¥æ\94¾å\81\87å®\89æ\8e\92ï¼\8cå¤\96é\83¨è¨ç½®ï¼\8c0ç\84¡特殊安排,1工作,2放假
var worktime = {};
- //é»\98认设置2013-2014年放假安排
- worktime.y2013 = {"d0101":2,"d0102":2,"d0103":2,"d0105":1,"d0106":1,"d0209":2,"d0210":2,"d0211":2,"d0212":2,"d0213":2,"d0214":2,"d0215":2,"d0216":1,"d0217":1,"d0404":2,"d0405":2,"d0406":2,"d0407":1,"d0427":1,"d0428":1,"d0429":2,"d0430":2,"d0501":2,"d0608":1,"d0609":1,"d0610":2,"d0611":2,"d0612":2,"d0919":2,"d0920":2,"d0921":2,"d0922":1,"d0929":1,"d1001":2,"d1002":2,"d1003":2,"d1004":2,"d1005":2,"d1006":2,"d1007":2,"d1012":1};
- worktime.y2014 = {"d0101":2,"d0126":1,"d0131":2,"d0201":2,"d0202":2,"d0203":2,"d0204":2,"d0205":2,"d0206":2,"d0208":1,"d0405":2,"d0407":2,"d0501":2,"d0502":2,"d0503":2,"d0504":1,"d0602":2,"d0908":2,"d0928":1,"d1001":2,"d1002":2,"d1003":2,"d1004":2,"d1005":2,"d1006":2,"d1007":2,"d1011":1};
-
- //公历节日
+ //é»\98èª\8dè¨置2013-2014年放假安排
+ worktime.y2013 = {"d0101":2,"d0102":2,"d0103":2,"d0105":1,"d0106":1,"d0209":2,"d0210":2,"d0211" :2,"d0212":2,"d0213":2,"d0214":2,"d0215":2,"d0216":1,"d0217":1,"d0404":2,"d0405":2 ,"d0406":2,"d0407":1,"d0427":1,"d0428":1,"d0429":2,"d0430":2,"d0501":2,"d0608":1," d0609":1,"d0610":2,"d0611":2,"d0612":2,"d0919":2,"d0920":2,"d0921":2,"d0922":1,"d0929" :1,"d1001":2,"d1002":2,"d1003":2,"d1004":2,"d1005":2,"d1006":2,"d1007":2,"d1012":1 };
+ worktime.y2014 = {"d0101":2,"d0126":1,"d0131":2,"d0201":2,"d0202":2,"d0203":2,"d0204":2,"d0205" :2,"d0206":2,"d0208":1,"d0405":2,"d0407":2,"d0501":2,"d0502":2,"d0503":2,"d0504":1 ,"d0602":2,"d0908":2,"d0928":1,"d1001":2,"d1002":2,"d1003":2,"d1004":2,"d1005":2," d1006":2,"d1007":2,"d1011":1};
+
+ //公曆節日
var solarFestival = {
- 'd0101':'元旦节',
- 'd0202':'ä¸\96ç\95\8c湿地日',
- 'd0210':'å\9b½é\99\85æ°\94象è\8a\82',
- 'd0214':'情人节',
- 'd0301':'å\9b½é\99\85海豹日',
- 'd0303':'å\85¨å\9b½ç\88±耳日',
- 'd0305':'å¦é\9b·é\94\8b纪念日',
- 'd0308':'å¦\87女è\8a\82',
- 'd0312':'æ¤\8dæ \91è\8a\82 å\99ä¸å±±é\80\9dä¸\96纪念日',
- 'd0314':'å\9b½é\99\85警察日',
- 'd0315':'æ¶\88è´¹è\80\85æ\9d\83益日',
- 'd0317':'ä¸å\9b½å\9b½å\8c»è\8a\82 å\9b½é\99\85航海日',
- 'd0321':'世界森林日 消除种族歧视国际日 世界儿歌日',
+ 'd0101':'元旦節',
+ 'd0202':'ä¸\96ç\95\8cæ¿\95地日',
+ 'd0210':'å\9c\8bé\9a\9b氣象ç¯\80',
+ 'd0214':'情人節',
+ 'd0301':'å\9c\8bé\9a\9b海豹日',
+ 'd0303':'å\85¨å\9c\8bæ\84\9b耳日',
+ 'd0305':'å¸é\9b·é\8b\92ç´\80念日',
+ 'd0308':'婦女ç¯\80',
+ 'd0312':'æ¤\8d樹ç¯\80å«ä¸å±±é\80\9dä¸\96ç´\80念日',
+ 'd0314':'å\9c\8bé\9a\9b警察日',
+ 'd0315':'æ¶\88è²»è\80\85æ¬\8a益日',
+ 'd0317':'ä¸å\9c\8bå\9c\8bé\86«ç¯\80å\9c\8bé\9a\9b航海日',
+ 'd0321':'世界森林日消除種族歧視國際日世界兒歌日',
'd0322':'世界水日',
- 'd0323':'ä¸\96ç\95\8cæ°\94象日',
- 'd0324':'ä¸\96ç\95\8cé\98²æ²»ç»\93核病日',
- 'd0325':'å\85¨å\9b½ä¸å°\8få¦生安全教育日',
- 'd0330':'å·´å\8b\92æ\96¯å\9d¦å\9b½土日',
- 'd0401':'愚人节 全国爱国卫生运动月(四月) 税收宣传月(四月)',
- 'd0407':'世界卫生日',
+ 'd0323':'ä¸\96ç\95\8cæ°£象日',
+ 'd0324':'ä¸\96ç\95\8cé\98²æ²»çµ\90核病日',
+ 'd0325':'å\85¨å\9c\8bä¸å°\8få¸生安全教育日',
+ 'd0330':'å·´å\8b\92æ\96¯å\9d¦å\9c\8b土日',
+ 'd0401':'愚人節全國愛國衛生運動月(四月) 稅收宣傳月(四月)',
+ 'd0407':'世界衛生日',
'd0422':'世界地球日',
- 'd0423':'ä¸\96ç\95\8cå\9b¾ä¹¦å\92\8cç\89\88æ\9d\83日',
- 'd0424':'äº\9aé\9d\9eæ\96°é\97»工作者日',
- 'd0501':'å\8a³å\8a¨è\8a\82',
- 'd0504':'青年节',
+ 'd0423':'ä¸\96ç\95\8cå\9c\96æ\9b¸å\92\8cç\89\88æ¬\8a日',
+ 'd0424':'äº\9eé\9d\9eæ\96°è\81\9e工作者日',
+ 'd0501':'å\8b\9eå\8b\95ç¯\80',
+ 'd0504':'青年節',
'd0505':'碘缺乏病防治日',
- 'd0508':'ä¸\96ç\95\8c红十字日',
- 'd0512':'å\9b½é\99\85æ\8a¤å£«è\8a\82',
- 'd0515':'å\9b½é\99\85家庭日',
- 'd0517':'世界电信日',
- 'd0518':'å\9b½é\99\85å\8d\9aç\89©é¦\86日',
- 'd0520':'å\85¨å\9b½å¦ç\94\9fè\90¥å\85»日',
- 'd0522':'å\9b½é\99\85ç\94\9fç\89©å¤\9aæ ·性日',
- 'd0523':'å\9b½é\99\85牛奶日',
- 'd0531':'世界无烟日',
- 'd0601':'å\9b½é\99\85å\84¿ç«¥è\8a\82',
- 'd0605':'ä¸\96ç\95\8cç\8e¯境日',
- 'd0606':'å\85¨å\9b½ç\88±眼日',
- 'd0617':'防治荒漠化和干旱日',
- 'd0623':'å\9b½é\99\85奥æ\9e\97å\8c¹å\85\8bæ\97¥',
- 'd0625':'å\85¨å\9b½土地日',
- 'd0626':'å\9b½é\99\85禁毒日',
- 'd0701':'香港回归纪念日 中共诞辰 世界建筑日',
- 'd0702':'å\9b½é\99\85ä½\93è\82²è®°者日',
- 'd0707':'æ\8a\97æ\97¥æ\88\98äº\89纪念日',
+ 'd0508':'ä¸\96ç\95\8cç´\85十字日',
+ 'd0512':'å\9c\8bé\9a\9bè·å£«ç¯\80',
+ 'd0515':'å\9c\8bé\9a\9b家庭日',
+ 'd0517':'世界電信日',
+ 'd0518':'å\9c\8bé\9a\9bå\8d\9aç\89©é¤¨日',
+ 'd0520':'å\85¨å\9c\8bå¸ç\94\9fç\87\9fé¤\8a日',
+ 'd0522':'å\9c\8bé\9a\9bç\94\9fç\89©å¤\9a樣性日',
+ 'd0523':'å\9c\8bé\9a\9b牛奶日',
+ 'd0531':'世界無菸日',
+ 'd0601':'å\9c\8bé\9a\9bå\85\92ç«¥ç¯\80',
+ 'd0605':'ä¸\96ç\95\8cç\92°境日',
+ 'd0606':'å\85¨å\9c\8bæ\84\9b眼日',
+ 'd0617':'防治荒漠化和乾旱日',
+ 'd0623':'å\9c\8bé\9a\9b奧æ\9e\97å\8c¹å\89\8bæ\97¥',
+ 'd0625':'å\85¨å\9c\8b土地日',
+ 'd0626':'å\9c\8bé\9a\9b禁毒日',
+ 'd0701':'香港回歸紀念日中共誕辰世界建築日',
+ 'd0702':'å\9c\8bé\9a\9bé«\94è\82²è¨\98者日',
+ 'd0707':'æ\8a\97æ\97¥æ\88°ç\88ç´\80念日',
'd0711':'世界人口日',
- 'd0730':'é\9d\9eæ´²å¦\87女日',
- 'd0801':'建军节',
- 'd0808':'ä¸å\9b½ç\94·å\90è\8a\82(ç\88¸ç\88¸è\8a\82)',
- 'd0815':'æ\8a\97æ\97¥æ\88\98äº\89è\83\9cå\88©çºª念',
- 'd0908':'å\9b½é\99\85æ\89«ç\9b²æ\97¥ å\9b½é\99\85æ\96°é\97»工作者日',
- 'd0909':'æ¯\9bæ³½ä¸\9cé\80\9dä¸\96纪念',
- 'd0910':'ä¸å\9b½æ\95\99å¸\88è\8a\82',
- 'd0914':'ä¸\96ç\95\8cæ¸\85æ´\81地球日',
- 'd0916':'å\9b½é\99\85è\87æ°§å±\82ä¿\9dæ\8a¤日',
- 'd0918':'九一八事变纪念日',
- 'd0920':'å\9b½é\99\85ç\88±牙日',
- 'd0927':'世界旅游日',
- 'd0928':'å\94å\90è¯\9e辰',
- 'd1001':'å\9b½åº\86è\8a\82 ä¸\96ç\95\8cé\9f³ä¹\90æ\97¥ å\9b½é\99\85è\80\81人è\8a\82',
- 'd1002':'å\9b½é\99\85å\92\8cå¹³ä¸\8eæ°\91主è\87ªç\94±æ\96\97äº\89日',
- 'd1004':'ä¸\96ç\95\8cå\8a¨物日',
- 'd1006':'老人节',
- 'd1008':'å\85¨å\9b½é«\98è¡\80å\8e\8bæ\97¥ ä¸\96ç\95\8cè§\86è§\89日',
- 'd1009':'ä¸\96ç\95\8cé\82®æ\94¿æ\97¥ ä¸\87å\9b½é\82®è\81\94日',
- 'd1010':'è¾\9b亥é\9d©å\91½çºªå¿µæ\97¥ ä¸\96ç\95\8cç²¾ç¥\9eå\8d«生日',
- 'd1013':'世界保健日 国际教师节',
- 'd1014':'ä¸\96ç\95\8cæ \87å\87\86日',
- 'd1015':'å\9b½é\99\85ç\9b²äººè\8a\82(ç\99½æ\89\8bæ\9d\96è\8a\82)',
- 'd1016':'ä¸\96ç\95\8cç²®食日',
- 'd1017':'ä¸\96ç\95\8cæ¶\88é\99¤è´«困日',
- 'd1022':'世界传统医药日',
- 'd1024':'è\81\94å\90\88å\9b½æ\97¥ ä¸\96ç\95\8cå\8f\91展信息日',
- 'd1031':'世界勤俭日',
- 'd1107':'十月社会主义革命纪念日',
- 'd1108':'ä¸å\9b½è®°者日',
- 'd1109':'å\85¨å\9b½æ¶\88é\98²å®\89å\85¨å®£ä¼ 教育日',
- 'd1110':'世界青年节',
- 'd1111':'å\9b½é\99\85ç§\91å¦ä¸\8eå\92\8cå¹³å\91¨(æ\9c¬æ\97¥æ\89\80å±\9eç\9a\84ä¸\80å\91¨)',
- 'd1112':'å\99ä¸å±±è¯\9e辰纪念日',
+ 'd0730':'é\9d\9e洲婦女日',
+ 'd0801':'建軍節',
+ 'd0808':'ä¸å\9c\8bç\94·å\90ç¯\80(ç\88¸ç\88¸ç¯\80)',
+ 'd0815':'æ\8a\97æ\97¥æ\88°ç\88å\8b\9då\88©ç´\80念',
+ 'd0908':'å\9c\8bé\9a\9bæ\8e\83ç\9b²æ\97¥å\9c\8bé\9a\9bæ\96°è\81\9e工作者日',
+ 'd0909':'æ¯\9b澤æ\9d±é\80\9dä¸\96ç´\80念',
+ 'd0910':'ä¸å\9c\8bæ\95\99師ç¯\80',
+ 'd0914':'ä¸\96ç\95\8cæ¸\85æ½\94地球日',
+ 'd0916':'å\9c\8bé\9a\9bè\87氧層ä¿\9dè·日',
+ 'd0918':'九一八事變紀念日',
+ 'd0920':'å\9c\8bé\9a\9bæ\84\9b牙日',
+ 'd0927':'世界旅遊日',
+ 'd0928':'å\94å\90èª\95辰',
+ 'd1001':'å\9c\8bæ\85¶ç¯\80ä¸\96ç\95\8cé\9f³æ¨\82æ\97¥å\9c\8bé\9a\9bè\80\81人ç¯\80',
+ 'd1002':'å\9c\8bé\9a\9bå\92\8cå¹³è\88\87æ°\91主è\87ªç\94±é¬¥ç\88日',
+ 'd1004':'ä¸\96ç\95\8cå\8b\95物日',
+ 'd1006':'老人節',
+ 'd1008':'å\85¨å\9c\8bé«\98è¡\80å£\93æ\97¥ä¸\96ç\95\8cè¦\96覺日',
+ 'd1009':'ä¸\96ç\95\8cé\83µæ\94¿æ\97¥è\90¬å\9c\8bé\83µè\81¯日',
+ 'd1010':'è¾\9b亥é\9d©å\91½ç´\80念æ\97¥ä¸\96ç\95\8cç²¾ç¥\9eè¡\9b生日',
+ 'd1013':'世界保健日國際教師節',
+ 'd1014':'ä¸\96ç\95\8cæ¨\99æº\96日',
+ 'd1015':'å\9c\8bé\9a\9bç\9b²äººç¯\80(ç\99½æ\89\8bæ\9d\96ç¯\80)',
+ 'd1016':'ä¸\96ç\95\8c糧食日',
+ 'd1017':'ä¸\96ç\95\8cæ¶\88é\99¤è²§困日',
+ 'd1022':'世界傳統醫藥日',
+ 'd1024':'è\81¯å\90\88å\9c\8bæ\97¥ä¸\96ç\95\8cç\99¼展信息日',
+ 'd1031':'世界勤儉日',
+ 'd1107':'十月社會主義革命紀念日',
+ 'd1108':'ä¸å\9c\8bè¨\98者日',
+ 'd1109':'å\85¨å\9c\8bæ¶\88é\98²å®\89å\85¨å®£å\82³教育日',
+ 'd1110':'世界青年節',
+ 'd1111':'å\9c\8bé\9a\9bç§\91å¸è\88\87å\92\8cå¹³å\91¨(æ\9c¬æ\97¥æ\89\80屬ç\9a\84ä¸\80é\80±)',
+ 'd1112':'å«ä¸å±±èª\95è¾°ç´\80念日',
'd1114':'世界糖尿病日',
- 'd1117':'å\9b½é\99\85大å¦ç\94\9fè\8a\82 ä¸\96ç\95\8cå¦ç\94\9fè\8a\82',
- 'd1121':'世界问候日 世界电视日',
- 'd1129':'å\9b½é\99\85声æ\8f´å·´å\8b\92æ\96¯å\9d¦äººæ°\91å\9b½é\99\85日',
+ 'd1117':'å\9c\8bé\9a\9b大å¸ç\94\9fç¯\80ä¸\96ç\95\8cå¸ç\94\9fç¯\80',
+ 'd1121':'世界問候日世界電視日',
+ 'd1129':'å\9c\8bé\9a\9bè\81²æ\8f´å·´å\8b\92æ\96¯å\9d¦äººæ°\91å\9c\8bé\9a\9b日',
'd1201':'世界艾滋病日',
- 'd1203':'ä¸\96ç\95\8cæ®\8b疾人日',
- 'd1205':'å\9b½é\99\85ç»\8fæµ\8eå\92\8c社ä¼\9aå\8f\91å±\95å¿\97æ\84¿äººå\91\98日',
- 'd1208':'å\9b½é\99\85å\84¿ç«¥ç\94µè§\86日',
+ 'd1203':'ä¸\96ç\95\8cæ®\98疾人日',
+ 'd1205':'å\9c\8bé\9a\9bç¶\93æ¿\9få\92\8c社æ\9c\83ç\99¼å±\95å¿\97é¡\98人å\93¡日',
+ 'd1208':'å\9c\8bé\9a\9bå\85\92ç«¥é\9b»è¦\96日',
'd1209':'世界足球日',
- 'd1210':'ä¸\96ç\95\8c人æ\9d\83日',
- 'd1212':'西安事变纪念日',
- 'd1213':'å\8d\97äº¬å¤§å± æ\9d\80(1937å¹´)纪念æ\97¥ï¼\81紧记è¡\80泪史!',
- 'd1220':'æ¾³é\97¨å\9b\9eå½\92纪念',
- 'd1221':'å\9b½é\99\85篮球日',
+ 'd1210':'ä¸\96ç\95\8c人æ¬\8a日',
+ 'd1212':'西安事變紀念日',
+ 'd1213':'å\8d\97äº¬å¤§å± æ®º(1937å¹´)ç´\80念æ\97¥ï¼\81ç·\8aè¨\98è¡\80æ·\9a史!',
+ 'd1220':'æ¾³é\96\80å\9b\9eæ¸ç´\80念',
+ 'd1221':'å\9c\8bé\9a\9bç±\83球日',
'd1224':'平安夜',
- 'd1225':'圣诞节',
- 'd1226':'æ¯\9bæ³½ä¸\9cè¯\9e辰纪念'
+ 'd1225':'聖誕節',
+ 'd1226':'æ¯\9b澤æ\9d±èª\95è¾°ç´\80念'
};
-
- //农历节日
+
+ //農曆節日
var lunarFestival = {
- 'd0101':'春节',
- 'd0115':'元宵节',
- 'd0202':'é¾\99æ\8a¬å¤´è\8a\82',
- 'd0323':'å¦\88祖生辰',
- 'd0505':'端午节',
- 'd0707':'七夕情人节',
- 'd0715':'中元节',
- 'd0815':'中秋节',
- 'd0909':'é\87\8dé\98³è\8a\82',
- 'd1015':'下元节',
- 'd1208':'è\85\8aå\85«è\8a\82',
+ 'd0101':'春節',
+ 'd0115':'元宵節',
+ 'd0202':'é¾\8dæ\8a¬é ç¯\80',
+ 'd0323':'媽祖生辰',
+ 'd0505':'端午節',
+ 'd0707':'七夕情人節',
+ 'd0715':'中元節',
+ 'd0815':'中秋節',
+ 'd0909':'é\87\8dé\99½ç¯\80',
+ 'd1015':'下元節',
+ 'd1208':'è\87\98å\85«ç¯\80',
'd1223':'小年',
'd0100':'除夕'
}
/**
- * 1890 - 2100 年的农历数据
- * æ\95°æ\8d®格式:[0,2,9,21936]
- * [é\97°æ\9c\88æ\89\80å\9c¨æ\9c\88ï¼\8c0为没æ\9c\89é\97°æ\9c\88; *æ£æ\9c\88å\88\9dä¸\80对åº\94å\85¬å\8e\86æ\9c\88; *æ£æ\9c\88å\88\9dä¸\80对åº\94å\85¬å\8e\86æ\97¥; *å\86\9cå\8e\86æ¯\8fæ\9c\88ç\9a\84天æ\95°ç\9a\84æ\95°ç»\84ï¼\88é\9c\80转æ\8d¢ä¸ºäº\8cè¿\9b制,得到每月大小,0=小月(29日),1=大月(30日));]
+ * 1890 - 2100 年的農曆數據
+ * æ\95¸æ\93\9a格式:[0,2,9,21936]
+ * [é\96\8fæ\9c\88æ\89\80å\9c¨æ\9c\88ï¼\8c0ç\82ºæ²\92æ\9c\89é\96\8fæ\9c\88; *æ£æ\9c\88å\88\9dä¸\80å°\8dæ\87\89å\85¬æ\9b\86æ\9c\88; *æ£æ\9c\88å\88\9dä¸\80å°\8dæ\87\89å\85¬æ\9b\86æ\97¥; *è¾²æ\9b\86æ¯\8fæ\9c\88ç\9a\84天æ\95¸ç\9a\84æ\95¸çµ\84ï¼\88é\9c\80è½\89æ\8f\9bç\82ºäº\8cé\80²制,得到每月大小,0=小月(29日),1=大月(30日));]
*/
var lunarInfo = [[2,1,21,22184],[0,2,9,21936],[6,1,30,9656],[0,2,17,9584],[0,2,6,21168],[5,1,26,43344],[0,2,13,59728],[0,2,2,27296],[3,1,22,44368],[0,2,10,43856],[8,1,30,19304],[0,2,19,19168],[0,2,8,42352],[5,1,29,21096],[0,2,16,53856],[0,2,4,55632],[4,1,25,27304],[0,2,13,22176],[0,2,2,39632],[2,1,22,19176],[0,2,10,19168],[6,1,30,42200],[0,2,18,42192],[0,2,6,53840],[5,1,26,54568],[0,2,14,46400],[0,2,3,54944],[2,1,23,38608],[0,2,11,38320],[7,2,1,18872],[0,2,20,18800],[0,2,8,42160],[5,1,28,45656],[0,2,16,27216],[0,2,5,27968],[4,1,24,44456],[0,2,13,11104],[0,2,2,38256],[2,1,23,18808],[0,2,10,18800],[6,1,30,25776],[0,2,17,54432],[0,2,6,59984],[5,1,26,27976],[0,2,14,23248],[0,2,4,11104],[3,1,24,37744],[0,2,11,37600],[7,1,31,51560],[0,2,19,51536],[0,2,8,54432],[6,1,27,55888],[0,2,15,46416],[0,2,5,22176],[4,1,25,43736],[0,2,13,9680],[0,2,2,37584],[2,1,22,51544],[0,2,10,43344],[7,1,29,46248],[0,2,17,27808],[0,2,6,46416],[5,1,27,21928],[0,2,14,19872],[0,2,3,42416],[3,1,24,21176],[0,2,12,21168],[8,1,31,43344],[0,2,18,59728],[0,2,8,27296],[6,1,28,44368],[0,2,15,43856],[0,2,5,19296],[4,1,25,42352],[0,2,13,42352],[0,2,2,21088],[3,1,21,59696],[0,2,9,55632],[7,1,30,23208],[0,2,17,22176],[0,2,6,38608],[5,1,27,19176],[0,2,15,19152],[0,2,3,42192],[4,1,23,53864],[0,2,11,53840],[8,1,31,54568],[0,2,18,46400],[0,2,7,46752],[6,1,28,38608],[0,2,16,38320],[0,2,5,18864],[4,1,25,42168],[0,2,13,42160],[10,2,2,45656],[0,2,20,27216],[0,2,9,27968],[6,1,29,44448],[0,2,17,43872],[0,2,6,38256],[5,1,27,18808],[0,2,15,18800],[0,2,4,25776],[3,1,23,27216],[0,2,10,59984],[8,1,31,27432],[0,2,19,23232],[0,2,7,43872],[5,1,28,37736],[0,2,16,37600],[0,2,5,51552],[4,1,24,54440],[0,2,12,54432],[0,2,1,55888],[2,1,22,23208],[0,2,9,22176],[7,1,29,43736],[0,2,18,9680],[0,2,7,37584],[5,1,26,51544],[0,2,14,43344],[0,2,3,46240],[4,1,23,46416],[0,2,10,44368],[9,1,31,21928],[0,2,19,19360],[0,2,8,42416],[6,1,28,21176],[0,2,16,21168],[0,2,5,43312],[4,1,25,29864],[0,2,12,27296],[0,2,1,44368],[2,1,22,19880],[0,2,10,19296],[6,1,29,42352],[0,2,17,42208],[0,2,6,53856],[5,1,26,59696],[0,2,13,54576],[0,2,3,23200],[3,1,23,27472],[0,2,11,38608],[11,1,31,19176],[0,2,19,19152],[0,2,8,42192],[6,1,28,53848],[0,2,15,53840],[0,2,4,54560],[5,1,24,55968],[0,2,12,46496],[0,2,1,22224],[2,1,22,19160],[0,2,10,18864],[7,1,30,42168],[0,2,17,42160],[0,2,6,43600],[5,1,26,46376],[0,2,14,27936],[0,2,2,44448],[3,1,23,21936],[0,2,11,37744],[8,2,1,18808],[0,2,19,18800],[0,2,8,25776],[6,1,28,27216],[0,2,15,59984],[0,2,4,27424],[4,1,24,43872],[0,2,12,43744],[0,2,2,37600],[3,1,21,51568],[0,2,9,51552],[7,1,29,54440],[0,2,17,54432],[0,2,5,55888],[5,1,26,23208],[0,2,14,22176],[0,2,3,42704],[4,1,23,21224],[0,2,11,21200],[8,1,31,43352],[0,2,19,43344],[0,2,7,46240],[6,1,27,46416],[0,2,15,44368],[0,2,5,21920],[4,1,24,42448],[0,2,12,42416],[0,2,2,21168],[3,1,22,43320],[0,2,9,26928],[7,1,29,29336],[0,2,17,27296],[0,2,6,44368],[5,1,26,19880],[0,2,14,19296],[0,2,3,42352],[4,1,24,21104],[0,2,10,53856],[8,1,30,59696],[0,2,18,54560],[0,2,7,55968],[6,1,27,27472],[0,2,15,22224],[0,2,5,19168],[4,1,25,42216],[0,2,12,42192],[0,2,1,53584],[2,1,21,55592],[0,2,9,54560]];
-
+
/**
- * 二十四节气数据,节气点时间(单位是分钟)
- * 从0小寒起算
+ * 二十四節氣數據,節氣點時間(單位是分鐘)
+ * 從0小寒起算
*/
- var termInfo = [0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758];
-
+ var termInfo = [0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532, 504758];
+
/**
- * å\88¤æ\96å\86\9cå\8e\86å¹´é\97°æ\9c\88æ\95°
- * @param {Number} year å\86\9cå\8e\86å¹´
- * return é\97°æ\9c\88æ\95° ï¼\88æ\9c\88份ä»\8e1å¼\80始)
+ * å\88¤æ\96·è¾²æ\9b\86å¹´é\96\8fæ\9c\88æ\95¸
+ * @param {Number} year è¾²æ\9b\86å¹´
+ * return é\96\8fæ\9c\88æ\95¸ï¼\88æ\9c\88份å¾\9e1é\96\8b始)
*/
function getLunarLeapYear(year){
var yearData = lunarInfo[year-minYear];
return yearData[0];
};
-
+
/**
- * 获取农历年份一年的每月的天数及一年的总天数
- * @param {Number} year å\86\9cå\8e\86å¹´
+ * 獲取農曆年份一年的每月的天數及一年的總天數
+ * @param {Number} year è¾²æ\9b\86å¹´
*/
function getLunarYearDays(year){
var yearData = lunarInfo[year-minYear];
- var leapMonth = yearData[0]; //é\97°月
+ var leapMonth = yearData[0]; //é\96\8f月
var monthData = yearData[3].toString(2);
var monthDataArr = monthData.split('');
-
- //还原数据至16位,少于16位的在前面插入0(二进制存储时前面的0被忽略)
+
+ //還原數據至16位,少於16位的在前面插入0(二進制存儲時前面的0被忽略)
for(var i=0;i<16-monthDataArr.length;i++){
monthDataArr.unshift(0);
}
-
- var len = leapMonth ? 13 : 12; //该年æ\9c\89å\87 个月
+
+ var len = leapMonth ? 13 : 12; //該年æ\9c\89å¹¾å\80\8b月
var yearDays = 0;
var monthDays = [];
for(var i=0;i<len;i++){
monthDays.push(30);
}
}
-
+
return {
yearDays : yearDays,
monthDays : monthDays
};
};
-
+
/**
- * 通è¿\87é\97´é\9a\94天æ\95°æ\9f¥æ\89¾å\86\9cå\8e\86æ\97¥æ\9c\9f
- * @param {Number} year,between 农历年,间隔天数
+ * 通é\81\8eé\96\93é\9a\94天æ\95¸æ\9f¥æ\89¾è¾²æ\9b\86æ\97¥æ\9c\9f
+ * @param {Number} year,between 農曆年,間隔天數
*/
function getLunarDateByBetween(year,between){
var lunarYearDays = getLunarYearDays(year);
break;
}
}
-
+
return [year,month,end - tempDays + 1];
};
/**
- * æ ¹æ\8d®è·\9d离æ£æ\9c\88å\88\9dä¸\80ç\9a\84天æ\95°è®¡ç®\97å\86\9cå\8e\86æ\97¥æ\9c\9f
- * @param {Number} year 公å\8e\86å¹´ï¼\8cæ\9c\88ï¼\8cæ\97¥
+ * æ ¹æ\93\9aè·\9dé\9b¢æ£æ\9c\88å\88\9dä¸\80ç\9a\84天æ\95¸è¨\88ç®\97è¾²æ\9b\86æ\97¥æ\9c\9f
+ * @param {Number} year 公æ\9b\86å¹´ï¼\8cæ\9c\88ï¼\8cæ\97¥
*/
function getLunarByBetween(year,month,day){
var yearData = lunarInfo[year-minYear];
var zenMonth = yearData[1];
var zenDay = yearData[2];
- var between = getDaysBetweenSolar(year,zenMonth-1,zenDay,year,month,day);
+ var between = getDaysBetweenSolar(year, zenMonth-1, zenDay, year, month, day);
if(between==0){ //正月初一
return [year,0,1];
}else{
return getLunarDateByBetween(lunarYear,between);
}
};
-
+
/**
- * 两个公历日期之间的天数
+ * 兩個公曆日期之間的天數
*/
- function getDaysBetweenSolar(year,month,day,year1,month1,day1){
+ function getDaysBetweenSolar(year, month, day, year1, month1, day1){
var date = new Date(year,month,day).getTime();
var date1 = new Date(year1,month1,day1).getTime();
return (date1-date) / 86400000;
};
-
+
/**
- * 计ç®\97å\86\9cå\8e\86æ\97¥æ\9c\9f离正月初一有多少天
- * @param {Number} year,month,day 农年,月(0-12,有闰月),日
+ * è¨\88ç®\97è¾²æ\9b\86æ\97¥æ\9c\9fé\9b¢正月初一有多少天
+ * @param {Number} year,month,day 農年,月(0-12,有閏月),日
*/
function getDaysBetweenZheng(year,month,day){
var lunarYearDays = getLunarYearDays(year);
};
return days+day-1;
};
-
+
/**
- * 某年的第n个节气为几日
- * 31556925974.7为地球公转周期,是毫秒
- * 1890年的正小寒点:01-05 16:02:31,1890年为基准点
- * @param {Number} y 公å\8e\86å¹´
- * @param {Number} n 第å\87 个è\8a\82æ°\94ï¼\8cä»\8e0小寒起算
- * 由于农历24节气交节时刻采用近似算法,可能存在少量误差(30分钟内)
+ * 某年的第n個節氣為幾日
+ * 31556925974.7為地球公轉週期,是毫秒
+ * 1890年的正小寒點:01-05 16:02:31,1890年為基準點
+ * @param {Number} y 公æ\9b\86å¹´
+ * @param {Number} n 第幾å\80\8bç¯\80æ°£ï¼\8cå¾\9e0小寒起算
+ * 由於農曆24節氣交節時刻採用近似算法,可能存在少量誤差(30分鐘內)
*/
function getTerm(y,n) {
- var offDate = new Date( ( 31556925974.7*(y-1890) + termInfo[n]*60000 ) + Date.UTC(1890,0,5,16,2,31) );
+ var offDate = new Date( ( 31556925974.7*(y-1890) + termInfo[n]*60000 ) + Date.UTC(1890,0,5,16,2,31) );
return(offDate.getUTCDate());
};
-
+
/**
- * 获取公历年一年的二十四节气
- * 返回key:日期,value:节气中文名
+ * 獲取公曆年一年的二十四節氣
+ * 返回key:日期,value:節氣中文名
*/
function getYearTerm(year){
var res = {};
}
return res;
};
-
+
/**
- * 获取生肖
- * @param {Number} year å¹²æ\94¯æ\89\80å\9c¨å¹´ï¼\88é»\98认以ç«\8bæ\98¥å\89\8dç\9a\84å\85¬å\8e\86å¹´ä½\9c为å\9fºæ\95°)
+ * 獲取生肖
+ * @param {Number} year å¹²æ\94¯æ\89\80å\9c¨å¹´ï¼\88é»\98èª\8d以ç«\8bæ\98¥å\89\8dç\9a\84å\85¬æ\9b\86å¹´ä½\9cç\82ºå\9fºæ\95¸)
*/
function getYearZodiac(year){
- var num = year-1890+25; //å\8f\82è\80\83å¹²æ\94¯çºªå¹´ç\9a\84计ç®\97ï¼\8cç\94\9fè\82\96对åº\94地支
+ var num = year-1890+25; //å\8f\83è\80\83å¹²æ\94¯ç´\80å¹´ç\9a\84è¨\88ç®\97ï¼\8cç\94\9fè\82\96å°\8dæ\87\89地支
return DATA.zodiac[num%12];
};
-
+
/**
- * 计算天干地支
- * @param {Number} num 60进制中的位置(把60个天干地支,当成一个60进制的数)
+ * è¨\88算天干地支
+ * @param {Number} num 60進制中的位置(把60個天干地支,當成一個60進制的數)
*/
function cyclical(num) {
return(DATA.heavenlyStems[num%10]+DATA.earthlyBranches[num%12]);
}
-
+
/**
- * 获取干支纪年
+ * 獲取乾支紀年
* @param {Number} year 干支所在年
- * @param {Number} offset å\81\8f移é\87\8fï¼\8cé»\98认为0ï¼\8c便äº\8eæ\9f¥è¯¢ä¸\80个年跨两个干æ\94¯çºªå¹´ï¼\88以ç«\8bæ\98¥ä¸ºå\88\86ç\95\8c线)
+ * @param {Number} offset å\81\8f移é\87\8fï¼\8cé»\98èª\8dç\82º0ï¼\8c便æ\96¼æ\9f¥è©¢ä¸\80å\80\8bå¹´è·¨å\85©å\80\8bä¹¾æ\94¯ç´\80å¹´ï¼\88以ç«\8bæ\98¥ç\82ºå\88\86ç\95\8cç·\9a)
*/
function getLunarYearName(year,offset){
offset = offset || 0;
- //1890年1月小寒(小寒一般是1月5或6日)以前为己丑年,在60进制中排25
+ //1890年1月小寒(小寒一般是1月5或6日)以前為己丑年,在60進制中排25
return cyclical(year-1890+25+offset);
};
-
+
/**
- * 获取干支纪月
- * @param {Number} year,month 公å\8e\86å¹´ï¼\8cå¹²æ\94¯æ\89\80å\9c¨æ\9c\88
- * @param {Number} offset å\81\8f移é\87\8fï¼\8cé»\98认为0ï¼\8c便äº\8eæ\9f¥è¯¢ä¸\80个æ\9c\88跨两个干æ\94¯çºª月(有立春的2月)
+ * 獲取乾支紀月
+ * @param {Number} year,month 公æ\9b\86å¹´ï¼\8cå¹²æ\94¯æ\89\80å\9c¨æ\9c\88
+ * @param {Number} offset å\81\8f移é\87\8fï¼\8cé»\98èª\8dç\82º0ï¼\8c便æ\96¼æ\9f¥è©¢ä¸\80å\80\8bæ\9c\88è·¨å\85©å\80\8bä¹¾æ\94¯ç´\80月(有立春的2月)
*/
function getLunarMonthName(year,month,offset){
offset = offset || 0;
- //1890年1月小寒以前为丙子月,在60进制中排12
+ //1890年1月小寒以前為丙子月,在60進制中排12
return cyclical((year-1890)*12+month+12+offset);
};
-
+
/**
- * 获取干支纪日
- * @param {Number} year,month,day 公å\8e\86å¹´ï¼\8cæ\9c\88ï¼\8cæ\97¥
+ * 獲取乾支紀日
+ * @param {Number} year,month,day 公æ\9b\86å¹´ï¼\8cæ\9c\88ï¼\8cæ\97¥
*/
function getLunarDayName(year,month,day){
- //当日与1890/1/1 相差天数
- //1890/1/1与 1970/1/1 相差29219日, 1890/1/1 日柱为壬午日(60进制18)
+ //當日與1890/1/1 相差天數
+ //1890/1/1與1970/1/1 相差29219日, 1890/1/1 日柱為壬午日(60進制18)
var dayCyclical = Date.UTC(year,month,day)/86400000+29219+18;
return cyclical(dayCyclical);
};
-
+
/**
- * 获取公历月份的天数
- * @param {Number} year 公å\8e\86å¹´
- * @param {Number} month 公å\8e\86æ\9c\88
+ * 獲取公曆月份的天數
+ * @param {Number} year 公æ\9b\86å¹´
+ * @param {Number} month 公æ\9b\86æ\9c\88
*/
function getSolarMonthDays(year,month){
var monthDays = [31,isLeapYear(year)?29:28,31,30,31,30,31,31,30,31,30,31];
return monthDays[month];
};
-
+
/**
- * å\88¤æ\96å\85¬å\8e\86å¹´æ\98¯å\90¦æ\98¯é\97°年
- * @param {Number} year 公å\8e\86å¹´
+ * å\88¤æ\96·å\85¬æ\9b\86å¹´æ\98¯å\90¦æ\98¯é\96\8f年
+ * @param {Number} year 公æ\9b\86å¹´
*/
function isLeapYear(year){
return ((year%4==0 && year%100 !=0) || (year%400==0));
};
-
+
/*
- * ç»\9fä¸\80æ\97¥æ\9c\9fè¾\93å\85¥å\8f\82æ\95°ï¼\88è¾\93å\85¥æ\9c\88份ä»\8e1å¼\80å§\8bï¼\8cå\86\85é\83¨æ\9c\88份ç»\9fä¸\80ä»\8e0å¼\80始)
+ * çµ±ä¸\80æ\97¥æ\9c\9f輸å\85¥å\8f\83æ\95¸ï¼\88輸å\85¥æ\9c\88份å¾\9e1é\96\8bå§\8bï¼\8cå\85§é\83¨æ\9c\88份統ä¸\80å¾\9e0é\96\8b始)
*/
function formateDate(year,month,day,_minYear){
var argsLen = arguments.length;
day : day
};
};
-
+
/**
- * å°\86å\86\9cå\8e\86转æ\8d¢ä¸ºå\85¬å\8e\86
- * @param {Number} year,month,day 农历年,月(1-13,有闰月),日
+ * å°\87è¾²æ\9b\86è½\89æ\8f\9bç\82ºå\85¬æ\9b\86
+ * @param {Number} year,month,day 農曆年,月(1-13,有閏月),日
*/
function lunarToSolar(_year,_month,_day){
var inputDate = formateDate(_year,_month,_day);
var year = inputDate.year;
var month = inputDate.month;
var day = inputDate.day;
-
- var between = getDaysBetweenZheng(year,month,day); //离正月初一的天数
+
+ var between = getDaysBetweenZheng(year,month,day); //離正月初一的天數
var yearData = lunarInfo[year-minYear];
var zenMonth = yearData[1];
var zenDay = yearData[2];
-
+
var offDate = new Date(year,zenMonth-1,zenDay).getTime() + between * 86400000;
offDate = new Date(offDate);
return {
day : offDate.getDate()
};
};
-
+
/**
- * å°\86å\85¬å\8e\86转æ\8d¢ä¸ºå\86\9cå\8e\86
- * @param {Number} year,month,day 公å\8e\86å¹´ï¼\8cæ\9c\88ï¼\8cæ\97¥
+ * å°\87å\85¬æ\9b\86è½\89æ\8f\9bç\82ºè¾²æ\9b\86
+ * @param {Number} year,month,day 公æ\9b\86å¹´ï¼\8cæ\9c\88ï¼\8cæ\97¥
*/
function solarToLunar(_year,_month,_day){
var inputDate = formateDate(_year,_month,_day,minYear);
var year = inputDate.year;
var month = inputDate.month;
var day = inputDate.day;
-
+
cacheUtil.setCurrent(year);
//立春日期
var term2 = cacheUtil.get('term2') ? cacheUtil.get('term2') : cacheUtil.set('term2',getTerm(year,2));
- //二十四节气
+ //二十四節氣
var termList = cacheUtil.get('termList') ? cacheUtil.get('termList') : cacheUtil.set('termList',getYearTerm(year));
-
- var firstTerm = getTerm(year,month*2); //某月第一个节气开始日期
+
+ var firstTerm = getTerm(year,month*2); //某月第一個節氣開始日期
var GanZhiYear = (month>1 || month==1 && day>=term2) ? year+1 : year;//干支所在年份
- var GanZhiMonth = day>=firstTerm ? month+1 : month; //干支所在月份(以è\8a\82æ°\94为ç\95\8cï¼\89
-
+ var GanZhiMonth = day>=firstTerm ? month+1 : month; //干支所在月份(以ç¯\80æ°£ç\82ºç\95\8cï¼\89
+
var lunarDate = getLunarByBetween(year,month,day);
var lunarLeapMonth = getLunarLeapYear(lunarDate[0]);
var lunarMonthName = '';
if(lunarLeapMonth>0 && lunarLeapMonth==lunarDate[1]){
- lunarMonthName = 'é\97°'+DATA.monthCn[lunarDate[1]-1]+'月';
+ lunarMonthName = 'é\96\8f'+DATA.monthCn[lunarDate[1]-1]+'月';
}else if(lunarLeapMonth>0 && lunarDate[1]>lunarLeapMonth){
lunarMonthName = DATA.monthCn[lunarDate[1]-1]+'月';
}else{
lunarMonthName = DATA.monthCn[lunarDate[1]]+'月';
}
-
- //农历节日判断
+
+ //農曆節日判斷
var lunarFtv = '';
var lunarMonthDays = getLunarYearDays(lunarDate[0]).monthDays;
//除夕
}else{
lunarFtv = lunarFestival[formateDayD4(lunarDate[1],lunarDate[2])];
}
-
+
var res = {
zodiac : getYearZodiac(GanZhiYear),
GanZhiYear : getLunarYearName(GanZhiYear),
GanZhiMonth : getLunarMonthName(year,GanZhiMonth),
GanZhiDay : getLunarDayName(year,month,day),
- //放假安排:0无特殊安排,1工作,2放假
+ //放假安排:0無特殊安排,1工作,2放假
worktime : worktime['y'+year] && worktime['y'+year][formateDayD4(month,day)] ? worktime['y'+year][formateDayD4(month,day)] : 0,
term : termList[formateDayD4(month,day)],
-
+
lunarYear : lunarDate[0],
lunarMonth : lunarDate[1]+1,
lunarDay : lunarDate[2],
lunarMonthName : lunarMonthName,
lunarDayName : DATA.dateCn[lunarDate[2]-1],
lunarLeapMonth : lunarLeapMonth,
-
+
solarFestival : solarFestival[formateDayD4(month,day)],
lunarFestival : lunarFtv
};
return res;
};
-
+
/**
- * 获取指定公历月份的农历数据
+ * 獲取指定公曆月份的農曆數據
* return res{Object}
- * @param {Number} year,month 公å\8e\86å¹´ï¼\8cæ\9c\88
- * @param {Boolean} fill æ\98¯å\90¦ç\94¨ä¸\8aä¸\8bæ\9c\88æ\95°æ\8d®è¡¥é½\90é¦\96尾空缺ï¼\8cé¦\96ä¾\8bæ\95°æ\8d®ä»\8eå\91¨æ\97¥å¼\80始
+ * @param {Number} year,month 公æ\9b\86å¹´ï¼\8cæ\9c\88
+ * @param {Boolean} fill æ\98¯å\90¦ç\94¨ä¸\8aä¸\8bæ\9c\88æ\95¸æ\93\9aè£\9cé½\8aé¦\96尾空缺ï¼\8cé¦\96ä¾\8bæ\95¸æ\93\9aå¾\9eé\80±æ\97¥é\96\8b始
*/
function calendar(_year,_month,fill){
var inputDate = formateDate(_year,_month);
if(inputDate.error)return inputDate;
var year = inputDate.year;
var month = inputDate.month;
-
+
var calendarData = solarCalendar(year,month+1,fill);
for(var i=0;i<calendarData.monthData.length;i++){
var cData = calendarData.monthData[i];
}
return calendarData;
};
-
+
/**
- * 公å\8e\86æ\9f\90æ\9c\88æ\97¥å\8e\86
+ * 公æ\9b\86æ\9f\90æ\9c\88æ\97¥æ\9b\86
* return res{Object}
- * @param {Number} year,month 公å\8e\86å¹´ï¼\8cæ\9c\88
- * @param {Boolean} fill æ\98¯å\90¦ç\94¨ä¸\8aä¸\8bæ\9c\88æ\95°æ\8d®è¡¥é½\90é¦\96尾空缺ï¼\8cé¦\96ä¾\8bæ\95°æ\8d®ä»\8eå\91¨æ\97¥å¼\80å§\8b (7*6é\98µ列)
+ * @param {Number} year,month 公æ\9b\86å¹´ï¼\8cæ\9c\88
+ * @param {Boolean} fill æ\98¯å\90¦ç\94¨ä¸\8aä¸\8bæ\9c\88æ\95¸æ\93\9aè£\9cé½\8aé¦\96尾空缺ï¼\8cé¦\96ä¾\8bæ\95¸æ\93\9aå¾\9eé\80±æ\97¥é\96\8bå§\8b(7*6é\99£列)
*/
function solarCalendar(_year,_month,fill){
var inputDate = formateDate(_year,_month);
if(inputDate.error)return inputDate;
var year = inputDate.year;
var month = inputDate.month;
-
+
var firstDate = new Date(year,month,1);
var preMonthDays,preMonthData,nextMonthData;
-
+
var res = {
- firstDay : firstDate.getDay(), //该æ\9c\881å\8f·æ\98\9fæ\9c\9få\87
- monthDays : getSolarMonthDays(year,month), //该æ\9c\88天æ\95°
+ firstDay : firstDate.getDay(), //該æ\9c\881è\99\9fæ\98\9fæ\9c\9få¹¾
+ monthDays : getSolarMonthDays(year,month), //該æ\9c\88天æ\95¸
monthData : []
};
-
+
res.monthData = creatLenArr(year,month+1,res.monthDays,1);
if(fill){
- if(res.firstDay > 0){ //å\89\8dè¡¥
+ if(res.firstDay > 0){ //å\89\8dè£\9c
var preYear = month-1<0 ? year-1 : year;
var preMonth = month-1<0 ? 11 : month-1;
preMonthDays = getSolarMonthDays(preYear,preMonth);
preMonthData = creatLenArr(preYear,preMonth+1,res.firstDay,preMonthDays-res.firstDay+1);
res.monthData = preMonthData.concat(res.monthData);
}
-
- if(7*6 - res.monthData.length!=0){ //å\90\8eè¡¥
+
+ if(7*6 - res.monthData.length!=0){ //å¾\8cè£\9c
var nextYear = month+1>11 ? year+1 : year;
var nextMonth = month+1>11 ? 0 : month+1;
var fillLen = 7*6 - res.monthData.length;
res.monthData = res.monthData.concat(nextMonthData);
}
}
-
+
return res;
};
-
+
/**
- * 设置æ\94¾å\81\87å®\89æ\8e\92ã\80\90对外暴露接口】
+ * è¨ç½®æ\94¾å\81\87å®\89æ\8e\92ã\80\90å°\8d外暴露接口】
* @param {Object} workData
*/
function setWorktime(workData){
setWorktime : setWorktime,
getSolarMonthDays : getSolarMonthDays
};
-
+
if (typeof define === 'function'){
define (function (){
return LunarCalendar;