📄 calendargb.htm
字号:
"Honduras 洪都拉斯":["-0600","","特古西加尔巴"],"Jamaica 牙买加 ":["-0500","","金斯敦"],"Martinique(FR) 马提尼克(法)":["-0400","","法兰西堡"],"Mexico(Mazatlan) 墨西哥 ":["-0700","","马萨特兰"],"Mexico(蒂华纳) 墨西哥 ":["-0800","","蒂华纳"],"Mexico(首都) 墨西哥 ":["-0600","","墨西哥城"],"Montserrat(UK) 蒙特塞拉特(英)":["-0400","","普利茅斯"],"Nicaragua 尼加拉瓜":["-0500","","马那瓜"],"Panama 巴拿马 ":["-0500","","巴拿马市"],"Paraguay 巴拉圭 ":["-0400","10F03|02L03","亚松森"],"Peru 秘鲁 ":["-0500","","利马"],"Puerto Rico(US) 波多黎各(美)":["-0400","","圣胡安"],"So. Georgia & So. Sandwich Is.(UK)南乔治和南三明治群岛(英)":["-0200","","葛利特维根"],"St. Kitts & Nevis 圣克里斯多福及尼维斯":["-0400","","巴士地"],"St. Lucia 圣卢西亚":["-0400","","卡斯特里"],"St. Vincent & Grenadines圣文森特和格林纳丁斯":["-0400","","金斯敦"],"Suriname 苏里南":["-0300","","帕拉马里博(Paramaribo)"],"Trinidad & Tobago 特立尼达和多巴哥":["-0400","","西班牙港"],"Turks & Caicos Is.(UK)特克斯和凯科斯群岛(英)":["-0500","","科伯恩城"],"Uruguay 乌拉圭 ":["-0300","","蒙得维的亚"],"Venezuela 委内瑞拉":["-0400","","加拉加斯"],"Virgin Is.(US) 维尔京群岛(美)":["-0400","","夏洛特.阿马里"]},"Africa (North) 北非": { //----------------------------------------------"Algeria 阿尔及利亚":["+0100","","阿尔及尔"],"Egypt 埃及 ":["+0200","04L53|09L43","开罗"],"Libyan 利比亚 ":["+0200","","的黎波里、锡尔特市(新首都)"],"Morocco 摩洛哥 ":["+0000","","拉巴特、卡萨布兰卡"],"Sudan 苏丹 ":["+0200","","喀土穆"],"Tunisia 突尼斯":["+0100","","突尼斯"]},"Africa (Western) 西非": { //----------------------------------------------"Benin 贝宁 ":["+0100","","波多诺伏、科托努、新港"],"Burkina Faso 布吉纳法索":["+0000","","瓦加杜古"],"Canary Is.(SP) 加那利群岛(西班牙)":["-0100","","乔治城"],"Cape Verde 佛得角群岛":["-0100","","普拉亚"],"Chad 乍得 ":["+0100","","恩贾梅纳"],"Gambia 冈比亚 ":["+0000","","班珠尔"],"Ghana 加纳 ":["+0000","","阿克拉"],"Guinea 几内亚 ":["+0000","","科纳克里"],"Guinea-Bissau 几内亚比绍":["+0000","","比绍"],"Ivory Coast 象牙海岸":["+0000","","亚穆苏克罗、阿比让"],"Liberia 利比里亚":["+0000","","蒙罗维亚"],"Mali 马里 ":["+0000","","巴马科"],"Mauritania 毛里塔尼亚":["+0000","","努瓦克肖特"],"Niger 尼日尔 ":["+0100","","尼亚美"],"Nigeria 尼日利亚":["+0100","","阿布贾"],"Senegal 塞内加尔":["+0000","","达喀尔"],"Sierra Leone 塞拉利昂 ":["+0000","","弗里敦(自由城)"],"Togo 多哥 ":["+0000","","洛美"],"Western Sahara 西撒哈拉":["+0000","","阿尤恩"]},"Africa (Central) 中非": { //----------------------------------------------"Cameroon 喀麦隆 ":["+0100","","雅温得"],"Cen.African Rep. 中非共和国":["+0100","","班吉"],"Congo,Democratic 刚果民主共和国[刚果(金)]":["+0100","","金沙萨"],"Congo,Republic 刚果共和国[刚果(布)]":["+0100","","布拉柴维尔"],"Equatorial Guinea 赤道几内亚":["+0100","","马拉博"],"Gabon 加蓬 ":["+0100","","利伯维尔(自由市)"],"Sao Tome & Principe圣多美普林西比":["+0000","","圣多美"]},"Africa (East) 东非": { //----------------------------------------------"Burundi 布隆迪 ":["+0200","","布琼布拉"],"Comoros 科摩罗 ":["+0300","","莫罗尼"],"Djibouti 吉布提 ":["+0300","","吉布提"],"Eritrea 厄利垂亚":["+0300","","阿斯马拉"],"Ethiopia 埃塞俄比亚":["+0300","","亚的斯亚贝巴"],"Kenya 肯尼亚 ":["+0300","","内罗毕"],"Madagascar 马达加斯加":["+0300","","塔那那利佛"],"Malawi 马拉维 ":["+0200","","利隆圭"],"Mauritius 毛里求斯":["+0400","","路易港"],"Mayotte(FR) 马约特岛(法)":["+0300","","Mamoutzou"],"Mozambique 莫桑比克":["+0200","","马普托"],"Reunion(FR) 留尼旺岛(法)":["+0400","","圣丹尼"],"Rwanda 卢旺达 ":["+0200","","基加利"],"Seychelles 塞舌尔 ":["+0300","","维多利亚"],"Somalia 索马里 ":["+0300","","摩加迪沙"],"Tanzania 坦桑尼亚":["+0300","","达累斯萨拉姆"],"Uganda 乌干达 ":["+0300","","坎帕拉"]},"Africa (South) 南非": { //----------------------------------------------"Angola 安哥拉 ":["+0100","","罗安达"],"Botswana 博茨瓦纳":["+0200","","哈博罗内"],"Lesotho 莱索托 ":["+0200","","马塞卢"],"Namibia 纳米比亚":["+0200","09F03|04F03","温得和克"],"Saint Helena(UK) 圣赫勒拿(英)":["-0100","","詹姆斯敦"],"South Africa 南非 ":["+0200","","开普敦、普利托里亚"],"Swaziland 斯威士兰":["+0200","","姆巴巴内"],"Zambia 赞比亚 ":["+0200","","卢萨卡"],"Zimbabwe 津巴布韦":["+0200","","哈拉雷"]},"Oceania 大洋洲": { //----------------------------------------------"American Samoa(US) 美属萨摩亚(美)":["-1100","","帕果帕果港"],"Aus.(Adelaide) 澳大利亚 ":["+0930","10F03|03F03","阿得雷德"],"Aus.(Brisbane) 澳大利亚 ":["+1000","10F03|03F03","布里斯班"],"Aus.(Darwin) 澳大利亚 ":["+0930","10F03|03F03","达尔文"],"Aus.(Hobart) 澳大利亚 ":["+1000","10F03|03F03","荷伯特"],"Aus.(Perth) 澳大利亚 ":["+0800","10F03|03F03","佩思"],"Aus.(Sydney) 澳大利亚 ":["+1000","10F03|03F03","悉尼"],"Cook Islands(NZ) 库克群岛(新西兰) ":["-1000","","阿瓦鲁阿"],"Eniwetok 埃尼威托克岛":["-1200","","埃尼威托克岛"],"Fiji 斐济 ":["+1200","11F03|02L03","苏瓦"],"Guam 关岛 ":["+1000","","阿加尼亚"],"Hawaii(US) 夏威夷(美)":["-1000","","檀香山"],"Kiribati 基里巴斯 ":["+1100","","塔拉瓦"],"Marshall Is. 马绍尔群岛":["+1200","","马朱罗"],"Micronesia 密克罗尼西亚联邦":["+1000","","帕利基尔(Palikir)"],"Midway Is.(US) 中途岛(美)":["-1100","","中途岛"],"Nauru Rep. 瑙鲁共和国":["+1200","","亚伦"],"New Calednia(FR) 新克里多尼亚(法)":["+1100","","努美阿"],"New Zealand 新西兰 ":["+1200","10F03|04F63","奥克兰"],"New Zealand(CHADT) 新西兰 ":["+1245","10F03|04F63","惠灵顿"],"Niue(NZ) 纽埃(新) ":["-1100","","阿洛菲(Alofi)"],"Nor. Mariana Is. 北马里亚纳群岛(美)":["+1000","","塞班岛"],"Palau 帕劳群岛(帛琉群岛) ":["+0900","","科罗尔"],"Papua New Guinea 巴布亚新几内亚":["+1000","","莫尔斯比港"],"Pitcairn Is.(UK) 皮特克恩群岛(英)":["-0830","","亚当斯敦"],"Polynesia(FR) 玻利尼西亚(法)":["-1000","","巴比蒂、塔希提"],"Solomon Is. 所罗门群岛":["+1100","","霍尼亚拉"],"Tahiti 塔希提 ":["-1000","","帕佩特"],"Tokelau(NZ) 托克劳群岛(新)":["-1100","","努库诺努、法考福、阿塔富"],"Tonga 汤加 ":["+1300","10F63|04F63","努库阿洛法"],"Tuvalu 图瓦卢 ":["+1200","","富纳富提"],"Vanuatu 瓦努阿图(新赫布里底群岛)":["+1100","","维拉港"],"Western Samoa 西萨摩亚":["-1100","","阿皮亚"],"DataLine 国际换日线 ":["-1200","","国际换日线"]}};/************************************************************************************ 日期计算************************************************************************************///====================================== 返回农历 y年的总天数function lYearDays(y) { var i, sum = 348; for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0; return(sum+leapDays(y));}//====================================== 返回农历 y年闰月的天数function leapDays(y) { if(leapMonth(y)) return( (lunarInfo[y-1899]&0xf)==0xf? 30: 29); else return(0);}//====================================== 返回农历 y年闰哪个月 1-12 , 没闰返回 0function leapMonth(y) { var lm = lunarInfo[y-1900] & 0xf; return(lm==0xf?0:lm);}//====================================== 返回农历 y年m月的总天数function monthDays(y,m) { return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );}//====================================== 算出农历, 传入日期控件, 返回农历日期控件// 该控件属性有 .year .month .day .isLeapfunction Lunar(objDate) { var i, leap=0, temp=0; var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000; for(i=1900; i<2100 && offset>0; i++) { temp=lYearDays(i); offset-=temp; } if(offset<0) { offset+=temp; i--; } this.year = i; leap = leapMonth(i); //闰哪个月 this.isLeap = false; for(i=1; i<13 && offset>0; i++) { //闰月 if(leap>0 && i==(leap+1) && this.isLeap==false) { --i; this.isLeap = true; temp = leapDays(this.year); } else { temp = monthDays(this.year, i); } //解除闰月 if(this.isLeap==true && i==(leap+1)) this.isLeap = false; offset -= temp; } if(offset==0 && leap>0 && i==leap+1) if(this.isLeap) { this.isLeap = false; } else { this.isLeap = true; --i; } if(offset<0){ offset += temp; --i; } this.month = i; this.day = offset + 1;}//==============================返回公历 y年某m+1月的天数function solarDays(y,m) { if(m==1) return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28); else return(solarMonth[m]);}//============================== 传入 offset 返回干支, 0=甲子function cyclical(num) { return(Gan[num%10]+Zhi[num%12]);}//============================== 阴历属性function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) { this.isToday = false; //瓣句 this.sYear = sYear; //公元年4位数字 this.sMonth = sMonth; //公元月数字 this.sDay = sDay; //公元日数字 this.week = week; //星期, 1个中文 //农历 this.lYear = lYear; //公元年4位数字 this.lMonth = lMonth; //农历月数字 this.lDay = lDay; //农历日数字 this.isLeap = isLeap; //是否为农历闰月? //八字 this.cYear = cYear; //年柱, 2个中文 this.cMonth = cMonth; //月柱, 2个中文 this.cDay = cDay; //日柱, 2个中文 this.color = ''; this.lunarFestival = ''; //农历节日 this.solarFestival = ''; //公历节日 this.solarTerms = ''; //节气}//===== 某年的第n个节气为几日(从0小寒起算)function sTerm(y,n) { var offDate = new Date( ( 31556925974.7*(y-1900) + sTermInfo[n]*60000 ) + Date.UTC(1900,0,6,2,5) ); return(offDate.getUTCDate());}//============================== 返回阴历控件 (y年,m+1月)/*功能说明: 返回整个月的日期资料控件使用方式: OBJ = new calendar(年,零起算月); OBJ.length 返回当月最大日 OBJ.firstWeek 返回当月一日星期 由 OBJ[日期].属性名称 即可取得各项值 OBJ[日期].isToday 返回是否为今日 true 或 false 其他 OBJ[日期] 属性参见 calElement() 中的注解*/function calendar(y,m) { var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2, tmp3; var cY, cM, cD; //年柱,月柱,日柱 var lDPOS = new Array(3); var n = 0; var firstLM = 0; sDObj = new Date(y,m,1,0,0,0,0); //当月一日日期 this.length = solarDays(y,m); //公历当月天数 this.firstWeek = sDObj.getDay(); //公历当月1日星期几 ////////年柱 1900年立春后为庚子年(60进制36) if(m<2) cY=cyclical(y-1900+36-1); else cY=cyclical(y-1900+36); var term2=sTerm(y,2); //立春日期 ////////月柱 1900年1月小寒以前为 丙子月(60进制12) var firstNode = sTerm(y,m*2) //返回当月「节」为几日开始 cM = cyclical((y-1900)*12+m+12); //当月一日与 1900/1/1 相差天数 //1900/1/1与 1970/1/1 相差25567日, 1900/1/1 日柱为甲戌日(60进制10) var dayCyclical = Date.UTC(y,m,1,0,0,0,0)/86400000+25567+10; for(var i=0;i<this.length;i++) { if(lD>lX) { sDObj = new Date(y,m,i+1); //当月一日日期 lDObj = new Lunar(sDObj); //农历 lY = lDObj.year; //农历年 lM = lDObj.month; //农历月 lD = lDObj.day; //农历日 lL = lDObj.isLeap; //农历是否闰月 lX = lL? leapDays(lY): monthDays(lY,lM); //农历当月最后一天 if(n==0) firstLM = lM; lDPOS[n++] = i-lD+1; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -