?? 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 密克羅尼西亞聯(lián)邦":["+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 = ''; //農歷節(jié)日 this.solarFestival = ''; //公歷節(jié)日 this.solarTerms = ''; //節(jié)氣}//===== 某年的第n個節(jié)氣為幾日(從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) //返回當月「節(jié)」為幾日開始 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 + -