/[LeafOK_CVS]/fenglin/www/calendar.php
ViewVC logotype

Contents of /fenglin/www/calendar.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (show annotations)
Sun Mar 9 07:27:58 2025 UTC (12 months, 1 week ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +0 -0 lines
FILE REMOVED
Remove legacy code

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>枫林在线 - 万年历</title>
6 <link rel="stylesheet" href="css/default.css" type="text/css">
7 </head>
8 <SCRIPT language=JScript>
9 <!--
10 /*****************************************************************************
11 个人偏好设定
12 *****************************************************************************/
13
14 var conWeekend = 3; // 星期六颜色显示: 1=黑色, 2=绿色, 3=红色, 4=隔周休
15
16
17 /*****************************************************************************
18 日期资料
19 *****************************************************************************/
20
21 var lunarInfo=new Array(
22 0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,
23 0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,
24 0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,
25 0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,
26 0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,
27 0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052b0,0x0a9a8,0x0e950,0x06aa0,
28 0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,
29 0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6,
30 0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,
31 0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,
32 0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,
33 0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,
34 0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,
35 0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,
36 0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0,
37 0x14b63);
38
39 var solarMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
40 var Gan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");
41 var Zhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");
42 var Animals=new Array("鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪");
43 var solarTerm = new Array("小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至");
44 var sTermInfo = new Array(0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758);
45 var nStr1 = new Array('日','一','二','三','四','五','六','七','八','九','十');
46 var nStr2 = new Array('初','十','廿','卅','□');
47 var monthName = new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
48
49 var sFtv = new Array(
50 "0101*元旦",
51 "0214 情人节",
52 "0308 妇女节",
53 "0501 劳动节",
54 "0504 青年节",
55 "0601 儿童节",
56 "0701 建党节 香港回归纪念",
57 "0801 建军节",
58 "1001*国庆节");
59
60 //农历节日 *表示放假日
61 var lFtv = new Array(
62 "0101*春节",
63 "0115 元宵节",
64 "0505 端午节",
65 "0815 中秋节",
66 "0909 重阳节",
67 "1224 小年",
68 "0100*除夕");
69
70 //某月的第几个星期几。 5,6,7,8 表示到数第 1,2,3,4 个星期几
71 var wFtv = new Array(
72 "0520 母亲节 Mother's Day",
73 "0630 父亲节 Father's Day",
74 "1144 感恩节 Thanksgiving Day");
75
76
77
78 //世界时间资料
79 var timeData = {
80 "Asia 亚洲": { //----------------------------------------------
81 "China 中国 ":["+0800","","北京、重庆、乌鲁木齐"],
82 "Brunei 汶莱 ":["+0800","","斯里巴加万港"],
83 "Burma 缅甸 ":["+0630","","仰光"],
84 "Khmer 柬埔寨 ":["+0700","","金边"],
85 "Hong kong 香港 ":["+0800","","九龙"],
86 "Indonesian 印尼 ":["+0700","","耶加达"],
87 "Japan 日本 ":["+0900","","东京、大阪、札幌"],
88 "Korea 韩国 ":["+0900","","汉城"],
89 "Laos 寮国 ":["+0700","","永珍"],
90 "Malaysian 马来西亚":["+0800","","吉隆坡"],
91 "Mongolia 蒙古 ":["+0800","03L03|09L03","库伦"],
92 "Philippines 菲律宾 ":["+0800","04F53|10F53","马尼拉"],
93 "Russia(Anadyr) 俄罗斯 ":["+1300","03L03|10L03","阿那底河"],
94 "Russia(Kamchatka) 俄罗斯 ":["+1200","03L03|10L03","堪察加半岛"],
95 "Russia(Magadan) 俄罗斯 ":["+1100","03L03|10L03","马加丹"],
96 "Russia(Vladivostok)俄罗斯 ":["+1000","03L03|10L03","海参威"],
97 "Russia(Yakutsk) 俄罗斯 ":["+0900","03L03|10L03","雅库次克"],
98 "Singapore 新加坡 ":["+0800","","新加坡"],
99 "China 北京、重庆、乌鲁木齐 ":["+0800","","北京、重庆、乌鲁木齐"],
100 "Thailand 泰国 ":["+0700","","曼谷"],
101 "Vietnam 越南 ":["+0700","","河内"]
102 },
103 "ME, India pen. 中东、印度半岛": { //------------------------------------
104 "Afghanistan 阿富汗 ":["+0430","","喀布尔"],
105 "Arab Emirates 阿拉伯联合大公国":["+0400","","阿布达比"],
106 "Bahrain 巴林 ":["+0300","","麦纳玛"],
107 "Bangladesh 孟加拉 ":["+0600","","达卡"],
108 "Bhutan 不丹 ":["+0600","","辛布"],
109 "Cyprus 赛普勒斯":["+0200","","尼古西亚"],
110 "Georgia 乔治亚 ":["+0500","","第比利斯"],
111 "India 印度 ":["+0530","","新德里、孟买、加尔各答"],
112 "Iran 伊朗 ":["+0330","04 13|10 13","德黑兰"],
113 "Iraq 伊拉克 ":["+0300","04 13|10 13","巴格达"],
114 "Israel 以色列 ":["+0200","04F53|09F53","耶路撒冷"],
115 "Jordan 约旦 ":["+0200","","安曼"],
116 "Kuwait 科威特 ":["+0300","","科威特市"],
117 "Lebanon 黎巴嫩 ":["+0200","03L03|10L03","贝鲁特"],
118 "Maldives 马尔地夫":["+0500","","玛律"],
119 "Nepal 尼泊尔 ":["+0545","","加德满都"],
120 "Oman 阿曼 ":["+0400","","马斯喀特"],
121 "Pakistan 巴基斯坦":["+0500","","喀拉蚩、伊斯兰堡"],
122 "Qatar 卡达 ":["+0300","","杜哈"],
123 "Saudi Arabia 沙乌地阿拉伯":["+0300","","利雅德"],
124 "Sri Lanka 斯里兰卡":["+0600","","可伦坡"],
125 "Syria 叙利亚 ":["+0200","04 13|10 13","大马士革"],
126 "Tajikistan 塔吉克 ":["+0500","","杜桑贝"],
127 "Turkey 土耳其 ":["+0200","","伊斯坦堡"],
128 "Turkmenistan 土库曼 ":["+0500","","阿什哈巴德"],
129 "Uzbekistan 乌兹别克斯坦":["+0500","","塔什干"],
130 "Yemen 叶门 ":["+0300","","沙那"]
131 },
132 "North Europe 北欧": { //----------------------------------------------
133 "Denmark 丹麦":["+0100","04F03|10L03","哥本哈根"],
134 "Finland 芬兰":["+0200","03L01|10L01","赫尔辛基"],
135 "Iceland 冰岛":["+0000","","雷克雅未克"],
136 "Norwegian 挪威":["+0100","","奥斯陆"],
137 "Sweden 瑞典":["+0100","03L01|10L01","斯德哥尔摩"]
138 },
139 "Eastern Europe 中欧、东欧": { //----------------------------------------
140 "Armenia 亚美尼亚":["+0400","","叶里温"],
141 "Austria 奥地利 ":["+0100","03L01|10L01","维也纳"],
142 "Azerbaijan 亚塞拜然":["+0400","","巴库"],
143 "Czech 捷克 ":["+0100","","布拉格"],
144 "Estonia 爱沙尼亚":["+0200","","塔林"],
145 "Germany 德国 ":["+0100","03L01|10L01","柏林"],
146 "Hungarian 匈牙利 ":["+0100","","布达佩斯"],
147 "Kazakhstan(Almaty) 哈萨克 ":["+0600","","Almaty"],
148 "Kazakhstan(Aqtobe) 哈萨克 ":["+0500","","Aqtobe"],
149 "Kazakhstan(Aqtau) 哈萨克 ":["+0400","","Aqtau"],
150 "Kirghizia 吉尔吉斯":["+0500","","比斯凯克"],
151 "Latvia 拉脱维亚":["+0200","","里加"],
152 "Lithuania 立陶宛 ":["+0200","","维尔纽斯"],
153 "Moldova 摩尔多瓦":["+0200","","基希涅夫"],
154 "Poland 波兰 ":["+0100","","华沙"],
155 "Rumania 罗马尼亚":["+0200","","布加勒斯特"],
156 "Russia(Moscow) 俄罗斯 ":["+0300","03L03|10L03","莫斯科"],
157 "Russia(Volgograd) 俄罗斯 ":["+0300","03L03|10L03","伏尔哥格勒"],
158 "Slovakia 斯洛伐克":["+0100","","布拉提斯拉瓦"],
159 "Switzerland 瑞士 ":["+0100","","苏黎世"],
160 "Ukraine 乌克兰 ":["+0200","","基辅"],
161 "Ukraine(Simferopol)乌克兰 ":["+0300","","Simferopol"],
162 "Belarus 白俄罗斯":["+0200","03L03|10L03","明斯克"]
163 },
164 "Western Europe 西欧": { //----------------------------------------------
165 "Belgium 比利时 ":["+0100","03L01|10L01","布鲁塞尔"],
166 "France 法国 ":["+0100","03L01|10L01","巴黎"],
167 "Ireland 爱尔兰 ":["+0000","03L01|10L01","都柏林"],
168 "Monaco 摩纳哥 ":["+0100","","摩纳哥市"],
169 "Netherlands 荷兰 ":["+0100","03L01|10L01","阿姆斯特丹"],
170 "Luxembourg 卢森堡 ":["+0100","03L01|10L01","卢森堡市"],
171 "United Kingdom 英国 ":["+0000","03L01|10L01","伦敦、爱丁堡"]
172 },
173 "South Europe 南欧": { //------------------------------------------------
174 "Albania 阿尔巴尼亚":["+0100","","地拉那"],
175 "Bulgaria 保加利亚":["+0200","","索菲亚"],
176 "Greece 希腊 ":["+0200","03L01|10L01","雅典"],
177 "Holy See 教廷 ":["+0100","","梵蒂冈"],
178 "Italy 义大利 ":["+0100","03L01|10L01","罗马"],
179 "Malta 马尔他 ":["+0100","","瓦勒他"],
180 "Portugal 葡萄牙 ":["+0000","03L01|10L01","里斯本"],
181 "San Marino 圣马利诺":["+0100","","圣马利诺"],
182 "Span 西班牙 ":["+0100","03L01|10L01","马德里"],
183 "Slovenia 斯洛维尼亚":["+0100","","卢布尔雅那"],
184 "Serbia(前南斯拉夫) 塞尔维亚":["+0100","","贝尔格勒"]
185 },
186 "North America 北美洲": { //--------------------------------------------
187 "Canada(NST) 加拿大":["-0330","04F02|10L02","纽芬兰、St. John's,Goose Bay"],
188 "Canada(AST) 加拿大":["-0400","04F02|10L02","Pangnirtung, Glace Bay"],
189 "Canada(EST) 加拿大":["-0500","04F02|10L02","蒙特娄"],
190 "Canada(CST) 加拿大":["-0600","04F02|10L02","Swift Current, Regina, Rainy River"],
191 "Canada(MST) 加拿大":["-0700","04F02|10L02","Inuvik, Edmonton, Dawson Creek"],
192 "Canada(PST) 加拿大":["-0800","04F02|10L02","温哥华"],
193 "US(Eastern) 美国(东岸)":["-0500","04F02|10L02","纽约"],
194 "US(Indiana) 美国 ":["-0500","","印第安纳"],
195 "US(Central) 美国(中部)":["-0600","04F02|10L02","芝加哥"],
196 "US(Mountain) 美国(山区)":["-0700","04F02|10L02","丹佛"],
197 "US(Arizona) 美国 ":["-0700","","亚历桑那"],
198 "US(Pacific) 美国(西岸)":["-0800","04F02|10L02","旧金山、洛杉矶"],
199 "US(Alaska) 美国 ":["-0900","","朱诺"]
200 },
201 "South America 中南美洲": { //------------------------------------------
202 "Argentina 阿根廷 ":["-0300","","布宜诺斯艾利斯"],
203 "Bahamas 巴哈马 ":["-0500","","拿索"],
204 "Belize 贝里斯 ":["-0600","","贝尔墨邦"],
205 "Bolivia 玻利维亚":["-0400","","拉巴斯"],
206 "Brazil(FST) 巴西 ":["-0200","10F03|02L03","Noronha"],
207 "Brazil(EST) 巴西 ":["-0300","10F03|02L03","里约热内卢、巴西利亚"],
208 "Brazil(WST) 巴西 ":["-0400","10F03|02L03","Cuiaba"],
209 "Brazil(AST) 巴西 ":["-0500","10F03|02L03","Porto Acre"],
210 "Chilean 智利 ":["-0500","10F03|03F03","Hanga Roa"],
211 "Chilean 智利 ":["-0300","10F03|03F03","圣地牙哥"],
212 "Colombia 哥伦比亚":["-0500","","波哥大"],
213 "Costa Rica 哥斯大黎加":["-0600","","圣约瑟"],
214 "Cuba 古巴 ":["-0500","04 13|10L03","哈瓦那"],
215 "Dominican 多明尼加":["-0400","","圣多明哥"],
216 "Ecuador 厄瓜多 ":["-0500","","基多"],
217 "El Salvador 萨尔瓦多":["-0600","","圣萨尔瓦多"],
218 "Falklands 福克兰群岛":["-0300","09F03|04F03","史坦利"],
219 "Guatemala 瓜地马拉":["-0600","","瓜地马拉城"],
220 "Haiti 海地 ":["-0500","","太子港"],
221 "Honduras 宏都拉斯":["-0600","","德古斯加巴"],
222 "Jamaica 牙买加 ":["-0500","","京斯敦"],
223 "Mexico(首都) 墨西哥 ":["-0600","","墨西哥城"],
224 "Mexico(Mazatlan) 墨西哥 ":["-0700","","Mazatlan"],
225 "Mexico(蒂娃娜) 墨西哥 ":["-0800","","蒂娃娜"],
226 "Nicaragua 尼加拉瓜":["-0500","","马纳瓜"],
227 "Panama 巴拿马 ":["-0500","","巴拿马市"],
228 "Paraguay 巴拉圭 ":["-0300","10F03|02L03","亚松森"],
229 "Peru 秘鲁 ":["-0500","","利马"],
230 "Trinidad & Tobago 千里达及托巴哥":["-0400","","西班牙港"],
231 "Uruguay 乌拉圭 ":["-0300","","蒙特维多"],
232 "Venezuela 委内瑞拉":["-0400","","卡拉卡斯"]
233 },
234 "Africa 非洲": { //----------------------------------------------
235 "Algeria 阿尔及利亚":["+0100","","阿尔及尔"],
236 "Angola 安哥拉 ":["+0100","","鲁安达"],
237 "Benin 贝南 ":["+0100","","新港"],
238 "Botswana 波札那 ":["+0200","","嘉伯隆里"],
239 "Burundi 蒲隆地 ":["+0200","","布松布拉"],
240 "Cameroon 喀麦隆 ":["+0100","","雅恩德"],
241 "Cape Verde 维德角 ":["-0100","","培亚"],
242 "Central African 中非共和国":["+0100","","班基"],
243 "Chad 查德 ":["+0100","","恩加美纳"],
244 "Congo 刚果 ":["+0100","","布拉萨市"],
245 "Djibouti 吉布地 ":["+0300","","吉布地"],
246 "Egypt 埃及 ":["+0200","04L53|09L43","开罗"],
247 "Equatorial Guinea 赤道几内亚":["+0100","","马拉博"],
248 "Ethiopia 衣索比亚":["+0300","","阿迪斯阿贝巴"],
249 "Gabon 加彭 ":["+0100","","自由市"],
250 "Gambia 甘比亚 ":["+0000","","班竹"],
251 "Ghana 迦纳 ":["+0000","","阿克拉"],
252 "Guinea 几内亚 ":["+0000","","柯那克里"],
253 "Ivory Coast 象牙海岸":["+0000","","雅穆索戈"],
254 "Kenya 肯亚 ":["+0300","","奈洛比"],
255 "Lesotho 赖索托 ":["+0200","","马赛鲁"],
256 "Liberia 赖比瑞亚":["+0000","","蒙罗维亚"],
257 "Madagascar 马达加斯加":["+0300","","安塔那那利佛"],
258 "Malawi 马拉威 ":["+0200","","里朗威"],
259 "Mali 马利 ":["+0000","","巴马科"],
260 "Mauritania 茅利塔尼亚":["+0000","","诺克少"],
261 "Mauritius 模里西斯":["+0400","","路易士港"],
262 "Morocco 摩洛哥 ":["+0000","","卡萨布兰卡"],
263 "Mozambique 莫三比克":["+0200","","马布多"],
264 "Namibia 纳米比亚":["+0200","09F03|04F03","温吐克"],
265 "Niger 尼日 ":["+0100","","尼阿美"],
266 "Nigeria 奈及利亚":["+0100","","阿布札"],
267 "Rwanda 卢安达 ":["+0200","","吉佳利"],
268 "Sao Tome 圣多美 ":["+0000","","圣多美"],
269 "Senegal 塞内加尔":["+0000","","达卡"],
270 "Sierra Leone 狮子山国":["+0000","","自由城"],
271 "Somalia 索马利亚":["+0300","","摩加迪休"],
272 "South Africa 南非 ":["+0200","","普利托里亚"],
273 "Sudan 苏丹 ":["+0200","","卡土穆"],
274 "Tanzania 坦尚尼亚":["+0300","","杜笃玛"],
275 "Togo 多哥 ":["+0000","","洛梅"],
276 "Tunisia 突尼西亚":["+0100","","突尼斯"],
277 "Uganda 乌干达 ":["+0300","","坎帕拉"],
278 "Zaire 萨伊 ":["+0100","","金夏沙"],
279 "Zambia 尚比亚 ":["+0200","","路沙卡"],
280 "Zimbabwe 辛巴威 ":["+0200","","哈拉雷"]
281 },
282 "Oceania 大洋洲": { //----------------------------------------------
283 "Aus.(Adelaide) 澳大利亚 ":["+0930","10L03|03L03","阿德莱德"],
284 "Aus.(Brisbane) 澳大利亚 ":["+1000","10L03|03L03","布利斯班"],
285 "Aus.(Darwin) 澳大利亚 ":["+0930","10L03|03L03","达尔文"],
286 "Aus.(Hobart) 澳大利亚 ":["+1000","10L03|03L03","荷伯特"],
287 "Aus.(Perth) 澳大利亚 ":["+0800","10L03|03L03","伯斯"],
288 "Aus.(Sydney) 澳大利亚 ":["+1000","10L03|03L03","雪梨"],
289 "Eniwetok 安尼威托克岛":["-1200","","安尼威托克岛"],
290 "Fiji 斐济 ":["+1200","11F03|02L03","苏瓦"],
291 "Guam 关岛 ":["+1000","","阿加纳"],
292 "Hawaii(US) 夏威夷(美)":["-1000","","檀香山"],
293 //"Mariana Islands 塞班岛 ":["","","塞班岛"],
294 "Marshall Is. 马绍尔群岛":["+1200","","Majuro"],
295 "Midway Is.(US) 中途岛(美)":["-1100","","中途岛"],
296 "Nauru Rep. 诺鲁共和国":["+1200","","雅连"],
297 "New Calednia 新克里多尼亚":["+1100","","Noumea"],
298 "New Guined 新畿内亚 ":["+1000","","莫勒斯比港"],
299 "New Zealand 纽西兰 ":["+1300","10F03|04F63","奥克兰"],
300 "New Zealand(CHADT) 纽西兰 ":["+1345","10F03|04F63","Waitaing"],
301 "Solomon Is. 索罗门群岛":["+1100","","荷尼阿拉"],
302 "Tahiti 大溪地 ":["-1000","","大溪地"],
303 "Tonga 东加 ":["+1300","10F63|04F63","努瓜娄发"],
304 "Tuvalu 吐瓦鲁 ":["+1200","","富那富提"],
305 "Western Samoa 西萨摩亚 ":["-1100","","阿庇亚"],
306 "国际换日线 ":["-1200","","国际换日线"]
307 }
308 };
309
310
311
312 /*****************************************************************************
313 日期计算
314 *****************************************************************************/
315
316 //====================================== 传回农历 y年的总天数
317 function lYearDays(y) {
318 var i, sum = 348;
319 for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0;
320 return(sum+leapDays(y));
321 }
322
323 //====================================== 传回农历 y年闰月的天数
324 function leapDays(y) {
325 if(leapMonth(y)) return((lunarInfo[y-1900] & 0x10000)? 30: 29);
326 else return(0);
327 }
328
329 //====================================== 传回农历 y年闰哪个月 1-12 , 没闰传回 0
330 function leapMonth(y) {
331 return(lunarInfo[y-1900] & 0xf);
332 }
333
334 //====================================== 传回农历 y年m月的总天数
335 function monthDays(y,m) {
336 return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );
337 }
338
339
340 //====================================== 算出农历, 传入日期物件, 传回农历日期物件
341 // 该物件属性有 .year .month .day .isLeap
342 function Lunar(objDate) {
343
344 var i, leap=0, temp=0;
345 var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000;
346
347 for(i=1900; i<2050 && offset>0; i++) { temp=lYearDays(i); offset-=temp; }
348
349 if(offset<0) { offset+=temp; i--; }
350
351 this.year = i;
352
353 leap = leapMonth(i); //闰哪个月
354 this.isLeap = false;
355
356 for(i=1; i<13 && offset>0; i++) {
357 //闰月
358 if(leap>0 && i==(leap+1) && this.isLeap==false)
359 { --i; this.isLeap = true; temp = leapDays(this.year); }
360 else
361 { temp = monthDays(this.year, i); }
362
363 //解除闰月
364 if(this.isLeap==true && i==(leap+1)) this.isLeap = false;
365
366 offset -= temp;
367 }
368
369 if(offset==0 && leap>0 && i==leap+1)
370 if(this.isLeap)
371 { this.isLeap = false; }
372 else
373 { this.isLeap = true; --i; }
374
375 if(offset<0){ offset += temp; --i; }
376
377 this.month = i;
378 this.day = offset + 1;
379 }
380
381 //==============================传回国历 y年某m+1月的天数
382 function solarDays(y,m) {
383 if(m==1)
384 return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28);
385 else
386 return(solarMonth[m]);
387 }
388 //============================== 传入 offset 传回干支, 0=甲子
389 function cyclical(num) {
390 return(Gan[num%10]+Zhi[num%12]);
391 }
392
393 //============================== 月历属性
394 function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {
395
396 this.isToday = false;
397 //国历
398 this.sYear = sYear; //西元年4位数字
399 this.sMonth = sMonth; //西元月数字
400 this.sDay = sDay; //西元日数字
401 this.week = week; //星期, 1个中文
402 //农历
403 this.lYear = lYear; //西元年4位数字
404 this.lMonth = lMonth; //农历月数字
405 this.lDay = lDay; //农历日数字
406 this.isLeap = isLeap; //是否为农历闰月?
407 //八字
408 this.cYear = cYear; //年柱, 2个中文
409 this.cMonth = cMonth; //月柱, 2个中文
410 this.cDay = cDay; //日柱, 2个中文
411
412 this.color = '';
413
414 this.lunarFestival = ''; //农历节日
415 this.solarFestival = ''; //国历节日
416 this.solarTerms = ''; //节气
417 }
418
419 //===== 某年的第n个节气为几日(从0小寒起算)
420 function sTerm(y,n) {
421 var offDate = new Date( ( 31556925974.7*(y-1900) + sTermInfo[n]*60000 ) + Date.UTC(1900,0,6,2,5) );
422 return(offDate.getUTCDate());
423 }
424
425
426
427
428 //============================== 传回月历物件 (y年,m+1月)
429 /*
430 功能说明: 传回整个月的日期资料物件
431
432 使用方式: OBJ = new calendar(年,零起算月);
433
434 OBJ.length 传回当月最大日
435 OBJ.firstWeek 传回当月一日星期
436
437 由 OBJ[日期].属性名称 即可取得各项值
438
439 OBJ[日期].isToday 传回是否为今日 true 或 false
440
441 其他 OBJ[日期] 属性参见 calElement() 中的注解
442 */
443 function calendar(y,m) {
444
445 var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2, tmp3;
446 var cY, cM, cD; //年柱,月柱,日柱
447 var lDPOS = new Array(3);
448 var n = 0;
449 var firstLM = 0;
450
451 sDObj = new Date(y,m,1,0,0,0,0); //当月一日日期
452
453 this.length = solarDays(y,m); //国历当月天数
454 this.firstWeek = sDObj.getDay(); //国历当月1日星期几
455
456 ////////年柱 1900年春分后为庚子年(60进制36)
457 if(m<2) cY=cyclical(y-1900+36-1);
458 else cY=cyclical(y-1900+36);
459 var term2=sTerm(y,2); //立春日期
460
461 ////////月柱 1900年1月小寒以前为 丙子月(60进制12)
462 var firstNode = sTerm(y,m*2) //传回当月「节」为几日开始
463 cM = cyclical((y-1900)*12+m+12);
464
465 //当月一日与 1900/1/1 相差天数
466 //1900/1/1与 1970/1/1 相差25567日, 1900/1/1 日柱为甲戌日(60进制10)
467 var dayCyclical = Date.UTC(y,m,1,0,0,0,0)/86400000+25567+10;
468
469 for(var i=0;i<this.length;i++) {
470
471 if(lD>lX) {
472 sDObj = new Date(y,m,i+1); //当月一日日期
473 lDObj = new Lunar(sDObj); //农历
474 lY = lDObj.year; //农历年
475 lM = lDObj.month; //农历月
476 lD = lDObj.day; //农历日
477 lL = lDObj.isLeap; //农历是否闰月
478 lX = lL? leapDays(lY): monthDays(lY,lM); //农历当月最后一天
479
480 if(n==0) firstLM = lM;
481 lDPOS[n++] = i-lD+1;
482 }
483
484 //依节气调整二月分的年柱, 以春分为界
485 if(m==1 && (i+1)==term2) cY=cyclical(y-1900+36);
486 //依节气月柱, 以「节」为界
487 if((i+1)==firstNode) cM = cyclical((y-1900)*12+m+13);
488 //日柱
489 cD = cyclical(dayCyclical+i);
490
491 //sYear,sMonth,sDay,week,
492 //lYear,lMonth,lDay,isLeap,
493 //cYear,cMonth,cDay
494 this[i] = new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7],
495 lY, lM, lD++, lL,
496 cY ,cM, cD );
497
498
499
500 }
501
502
503 //节气
504 tmp1=sTerm(y,m*2 )-1;
505 tmp2=sTerm(y,m*2+1)-1;
506 this[tmp1].solarTerms = solarTerm[m*2];
507 this[tmp2].solarTerms = solarTerm[m*2+1];
508 if(m==3) this[tmp1].color = 'red'; //清明颜色
509
510 //国历节日
511 for(i in sFtv)
512 if(sFtv[i].match(/^(\d{2})(\d{2})([\s\*])(.+)$/))
513 if(Number(RegExp.$1)==(m+1)) {
514 this[Number(RegExp.$2)-1].solarFestival += RegExp.$4 + ' ';
515 if(RegExp.$3=='*') this[Number(RegExp.$2)-1].color = 'red';
516 }
517
518 //月周节日
519 for(i in wFtv)
520 if(wFtv[i].match(/^(\d{2})(\d)(\d)([\s\*])(.+)$/))
521 if(Number(RegExp.$1)==(m+1)) {
522 tmp1=Number(RegExp.$2);
523 tmp2=Number(RegExp.$3);
524 if(tmp1<5)
525 this[((this.firstWeek>tmp2)?7:0) + 7*(tmp1-1) + tmp2 - this.firstWeek].solarFestival += RegExp.$5 + ' ';
526 else {
527 tmp1 -= 5;
528 tmp3 = (this.firstWeek+this.length-1)%7; //当月最后一天星期?
529 this[this.length - tmp3 - 7*tmp1 + tmp2 - (tmp2>tmp3?7:0) - 1 ].solarFestival += RegExp.$5 + ' ';
530 }
531 }
532
533 //农历节日
534 for(i in lFtv)
535 if(lFtv[i].match(/^(\d{2})(.{2})([\s\*])(.+)$/)) {
536 tmp1=Number(RegExp.$1)-firstLM;
537 if(tmp1==-11) tmp1=1;
538 if(tmp1 >=0 && tmp1<n) {
539 tmp2 = lDPOS[tmp1] + Number(RegExp.$2) -1;
540 if( tmp2 >= 0 && tmp2<this.length && this[tmp2].isLeap!=true) {
541 this[tmp2].lunarFestival += RegExp.$4 + ' ';
542 if(RegExp.$3=='*') this[tmp2].color = 'red';
543 }
544 }
545 }
546
547
548 //复活节只出现在3或4月
549 if(m==2 || m==3) {
550 var estDay = new easter(y);
551 if(m == estDay.m)
552 this[estDay.d-1].solarFestival = this[estDay.d-1].solarFestival+' 复活节 Easter Sunday';
553 }
554
555
556 //if(m==2) this[20].solarFestival = this[20].solarFestival+unescape('%20%u6D35%u8CE2%u751F%u65E5');
557
558 //黑色星期五
559 if((this.firstWeek+12)%7==5)
560 this[12].solarFestival += '黑色星期五 ';
561
562 //今日
563 if(y==tY && m==tM) this[tD-1].isToday = true;
564 }
565
566 //======================================= 传回该年的复活节(春分后第一次满月周后的第一主日)
567 function easter(y) {
568
569 var term2=sTerm(y,5); //取得春分日期
570 var dayTerm2 = new Date(Date.UTC(y,2,term2,0,0,0,0)); //取得春分的国历日期物件(春分一定出现在3月)
571 var lDayTerm2 = new Lunar(dayTerm2); //取得取得春分农历
572
573 if(lDayTerm2.day<15) //取得下个月圆的相差天数
574 var lMlen= 15-lDayTerm2.day;
575 else
576 var lMlen= (lDayTerm2.isLeap? leapDays(y): monthDays(y,lDayTerm2.month)) - lDayTerm2.day + 15;
577
578 //一天等于 1000*60*60*24 = 86400000 毫秒
579 var l15 = new Date(dayTerm2.getTime() + 86400000*lMlen ); //求出第一次月圆为国历几日
580 var dayEaster = new Date(l15.getTime() + 86400000*( 7-l15.getUTCDay() ) ); //求出下个周日
581
582 this.m = dayEaster.getUTCMonth();
583 this.d = dayEaster.getUTCDate();
584
585 }
586
587 //====================== 中文日期
588 function cDay(d){
589 var s;
590
591 switch (d) {
592 case 10:
593 s = '初十'; break;
594 case 20:
595 s = '二十'; break;
596 break;
597 case 30:
598 s = '三十'; break;
599 break;
600 default :
601 s = nStr2[Math.floor(d/10)];
602 s += nStr1[d%10];
603 }
604 return(s);
605 }
606
607 ///////////////////////////////////////////////////////////////////////////////
608
609 var cld;
610
611 function drawCld(SY,SM) {
612 var i,sD,s,size;
613 cld = new calendar(SY,SM);
614
615 if(SY>1874 && SY<1909) yDisplay = '光绪' + (((SY-1874)==1)?'元':SY-1874);
616 if(SY>1908 && SY<1912) yDisplay = '宣统' + (((SY-1908)==1)?'元':SY-1908);
617 if(SY>1949) yDisplay = '共和国' + (((SY-1949)==1)?'元':SY-1949);
618
619 GZ.innerHTML = yDisplay +'年 农历' + cyclical(SY-1900+36) + '年 【'+Animals[(SY-4)%12]+'】';
620
621 YMBG.innerHTML = "&nbsp;" + SY + "<BR>&nbsp;" + monthName[SM];
622
623 for(i=0;i<42;i++) {
624
625 sObj=eval('SD'+ i);
626 lObj=eval('LD'+ i);
627
628 sObj.className = '';
629
630 sD = i - cld.firstWeek;
631
632 if(sD>-1 && sD<cld.length) { //日期内
633 sObj.innerHTML = sD+1;
634
635 if(cld[sD].isToday) sObj.className = 'todyaColor'; //今日颜色
636
637 sObj.style.color = cld[sD].color; //国定假日颜色
638
639 if(cld[sD].lDay==1) //显示农历月
640 lObj.innerHTML = '<b>'+(cld[sD].isLeap?'闰':'') + cld[sD].lMonth + '月' + (monthDays(cld[sD].lYear,cld[sD].lMonth)==29?'小':'大')+'</b>';
641 else //显示农历日
642 lObj.innerHTML = cDay(cld[sD].lDay);
643
644 s=cld[sD].lunarFestival;
645 if(s.length>0) { //农历节日
646 if(s.length>6) s = s.substr(0, 4)+'...';
647 s = s.fontcolor('red');
648 }
649 else { //国历节日
650 s=cld[sD].solarFestival;
651 if(s.length>0) {
652 size = (s.charCodeAt(0)>0 && s.charCodeAt(0)<128)?8:4;
653 if(s.length>size+2) s = s.substr(0, size)+'...';
654 s = s.fontcolor('blue');
655 }
656 else { //廿四节气
657 s=cld[sD].solarTerms;
658 if(s.length>0) s = s.fontcolor('limegreen');
659 }
660 }
661 if(s.length>0) lObj.innerHTML = s;
662
663 }
664 else { //非日期
665 sObj.innerHTML = '';
666 lObj.innerHTML = '';
667 }
668 }
669 }
670
671
672 function changeCld() {
673 var y,m;
674 y=CLD.SY.selectedIndex+1900;
675 m=CLD.SM.selectedIndex;
676 drawCld(y,m);
677 }
678
679 function pushBtm(K) {
680 switch (K){
681 case 'YU' :
682 if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
683 break;
684 case 'YD' :
685 if(CLD.SY.selectedIndex<150) CLD.SY.selectedIndex++;
686 break;
687 case 'MU' :
688 if(CLD.SM.selectedIndex>0) {
689 CLD.SM.selectedIndex--;
690 }
691 else {
692 CLD.SM.selectedIndex=11;
693 if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
694 }
695 break;
696 case 'MD' :
697 if(CLD.SM.selectedIndex<11) {
698 CLD.SM.selectedIndex++;
699 }
700 else {
701 CLD.SM.selectedIndex=0;
702 if(CLD.SY.selectedIndex<150) CLD.SY.selectedIndex++;
703 }
704 break;
705 default :
706 CLD.SY.selectedIndex=tY-1900;
707 CLD.SM.selectedIndex=tM;
708 }
709 changeCld();
710 }
711
712 var Today = new Date();
713 var tY = Today.getFullYear();
714 var tM = Today.getMonth();
715 var tD = Today.getDate();
716 //////////////////////////////////////////////////////////////////////////////
717
718 var width = "130";
719 var offsetx = 2;
720 var offsety = 10;
721
722 var x = 0;
723 var y = 0;
724 var snow = 0;
725 var sw = 0;
726 var cnt = 0;
727
728 var dStyle;
729 document.onmousemove = mEvn;
730
731 //显示详细日期资料
732 function mOvr(v) {
733 var s,festival;
734 var sObj=eval('SD'+ v);
735 var d=sObj.innerHTML-1;
736
737 //sYear,sMonth,sDay,week,
738 //lYear,lMonth,lDay,isLeap,
739 //cYear,cMonth,cDay
740
741 if(sObj.innerHTML!='') {
742
743 sObj.style.cursor = 's-resize';
744
745 if(cld[d].solarTerms == '' && cld[d].solarFestival == '' && cld[d].lunarFestival == '')
746 festival = '';
747 else
748 festival = '<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#CCFFCC"><TR><TD>'+
749 '<FONT COLOR="#000000" STYLE="font-size:9pt;">'+cld[d].solarTerms + ' ' + cld[d].solarFestival + ' ' + cld[d].lunarFestival+'</FONT></TD>'+
750 '</TR></TABLE>';
751
752 s= '<TABLE WIDTH="130" BORDER=0 CELLPADDING="2" CELLSPACING=0 BGCOLOR="#000066" style="filter:Alpha(opacity=80)"><TR><TD>' +
753 '<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD ALIGN="right"><FONT COLOR="#ffffff" STYLE="font-size:9pt;">'+
754 cld[d].sYear+' 年 '+cld[d].sMonth+' 月 '+cld[d].sDay+' 日<br>星期'+cld[d].week+'<br>'+
755 '<font color="violet">农历'+(cld[d].isLeap?'闰 ':' ')+cld[d].lMonth+' 月 '+cld[d].lDay+' 日</font><br>'+
756 '<font color="yellow">'+cld[d].cYear+'年 '+cld[d].cMonth+'月 '+cld[d].cDay + '日</font>'+
757 '</FONT></TD></TR></TABLE>'+ festival +'</TD></TR></TABLE>';
758
759 document.all["detail"].innerHTML = s;
760
761 if (snow == 0) {
762 dStyle.left = x+offsetx-(width/2);
763 dStyle.top = y+offsety;
764 dStyle.visibility = "visible";
765 snow = 1;
766 }
767 }
768 }
769
770 //清除详细日期资料
771 function mOut() {
772 if ( cnt >= 1 ) { sw = 0; }
773 if ( sw == 0 ) { snow = 0; dStyle.visibility = "hidden";}
774 else cnt++;
775 }
776
777 //取得位置
778 function mEvn() {
779 x=event.x;
780 y=event.y;
781 if (document.body.scrollLeft)
782 {x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
783 if (snow){
784 dStyle.left = x+offsetx-(width/2);
785 dStyle.top = y+offsety;
786 }
787 }
788
789 /*****************************************************************************
790 世界时间计算
791 *****************************************************************************/
792 var OneHour = 60*60*1000;
793 var OneDay = OneHour*24;
794
795 function showUTC(objD) {
796 var dn,s;
797 var hh = objD.getUTCHours();
798 var mm = objD.getUTCMinutes();
799 var ss = objD.getUTCSeconds();
800 s = objD.getUTCFullYear() + "年" + (objD.getUTCMonth() + 1) + "月" + objD.getUTCDate() +"日 ("+ nStr1[objD.getUTCDay()] +")";
801
802 if(hh>12) { hh = hh-12; dn = '下午'; }
803 else dn = '上午';
804
805 if(hh<10) hh = '0' + hh;
806 if(mm<10) mm = '0' + mm;
807 if(ss<10) ss = '0' + ss;
808
809 s += " " + dn + ' ' + hh + ":" + mm + ":" + ss;
810 return(s);
811 }
812
813 function showLocale(objD) {
814 var dn,s;
815 var hh = objD.getHours();
816 var mm = objD.getMinutes();
817 var ss = objD.getSeconds();
818 s = objD.getFullYear() + "年" + (objD.getMonth() + 1) + "月" + objD.getDate() +"日 ("+ nStr1[objD.getDay()] +")";
819
820 if(hh>12) { hh = hh-12; dn = '下午'; }
821 else dn = '上午';
822
823 if(hh<10) hh = '0' + hh;
824 if(mm<10) mm = '0' + mm;
825 if(ss<10) ss = '0' + ss;
826
827 s += " " + dn + ' ' + hh + ":" + mm + ":" + ss;
828 return(s);
829 }
830
831 //传入时差字串, 传回偏移之正负毫秒
832 function parseOffset(s) {
833 var sign,hh,mm,v;
834 sign = s.substr(0,1)=='-'?-1:1;
835 hh = Math.floor(s.substr(1,2));
836 mm = Math.floor(s.substr(3,2));
837 v = sign*(hh*60+mm)*60*1000;
838 return(v);
839 }
840
841 //传回UTC日期物件 (年,月-1,第几个星期几,几点)
842 function getWeekDay(y,m,nd,w,h){
843 var d,d2,w1;
844 if(nd>0){
845 d = new Date(Date.UTC(y, m, 1));
846 w1 = d.getUTCDay();
847 d2 = new Date( d.getTime() + ((w<w1? w+7-w1 : w-w1 )+(nd-1)*7 )*OneDay + h*OneHour);
848 }
849 else {
850 nd = Math.abs(nd);
851 d = new Date( Date.UTC(y, m+1, 1) - OneDay );
852 w1 = d.getUTCDay();
853 d2 = new Date( d.getTime() + ( (w>w1? w-7-w1 : w-w1 )-(nd-1)*7 )*OneDay + h*OneHour);
854 }
855 return(d2);
856 }
857
858 //传入某时间值, 日光节约字串 传回 true 或 false
859 function isDaylightSaving(d,strDS) {
860
861 if(strDS == '') return(false);
862
863 var m1,n1,w1,t1;
864 var m2,n2,w2,t2;
865 with (Math){
866 m1 = floor(strDS.substr(0,2))-1;
867 w1 = floor(strDS.substr(3,1));
868 t1 = floor(strDS.substr(4,1));
869 m2 = floor(strDS.substr(6,2))-1;
870 w2 = floor(strDS.substr(9,1));
871 t2 = floor(strDS.substr(10,1));
872 }
873
874 switch(strDS.substr(2,1)){
875 case 'F': n1=1; break;
876 case 'L': n1=-1; break;
877 default : n1=0; break;
878 }
879
880 switch(strDS.substr(8,1)){
881 case 'F': n2=1; break;
882 case 'L': n2=-1; break;
883 default : n2=0; break;
884 }
885
886
887 var d1, d2, re;
888
889 if(n1==0)
890 d1 = new Date(Date.UTC(d.getUTCFullYear(), m1, Math.floor(strDS.substr(2,2)),t1));
891 else
892 d1 = getWeekDay(d.getUTCFullYear(),m1,n1,w1,t1);
893
894 if(n2==0)
895 d2 = new Date(Date.UTC(d.getUTCFullYear(), m2, Math.floor(strDS.substr(8,2)),t2));
896 else
897 d2 = getWeekDay(d.getUTCFullYear(),m2,n2,w2,t2);
898
899 if(d2>d1)
900 re = (d>d1 && d<d2)? true: false;
901 else
902 re = (d>d1 && d<d2)? false: true;
903
904 return(re);
905 }
906
907 var isDS = false;
908
909 //计算全球时间
910 function getGlobeTime() {
911 var d,s;
912 d = new Date();
913 d.setTime(d.getTime()+parseOffset(objTimeZone[0]));
914 isDS=isDaylightSaving(d,objTimeZone[1]);
915 if(isDS) d.setTime(d.getTime()+OneHour);
916
917 return(showUTC(d));
918 }
919
920 var objTimeZone;
921 var objContinentMenu;
922 var objCountryMenu;
923
924 function tick() {
925 var today;
926 today = new Date();
927 LocalTime.innerHTML = showLocale(today);
928 GlobeTime.innerHTML = getGlobeTime();
929 window.setTimeout("tick()", 1000);
930 }
931
932 //指定自定索引时区
933 function setTZ(a,c){
934 objContinentMenu.options[a].selected=true;
935 chContinent();
936 objCountryMenu.options[c].selected=true;
937 chCountry();
938 }
939
940 //变更区域
941 function chContinent() {
942 var key,i;
943 continent = objContinentMenu.options[objContinentMenu.selectedIndex].text;
944 for (var i = objCountryMenu.options.length-1; i >= 0; i--)
945 objCountryMenu[0]=null;
946 for (key in timeData[continent])
947 objCountryMenu.options[objCountryMenu.options.length]=new Option(key);
948 objCountryMenu.options[0].selected=true;
949 chCountry();
950 }
951
952 //变更国家
953 function chCountry() {
954 var txtContinent = objContinentMenu.options[objContinentMenu.selectedIndex].text;
955 var txtCountry = objCountryMenu.options[objCountryMenu.selectedIndex].text;
956
957 objTimeZone = timeData[txtContinent][txtCountry];
958
959 getGlobeTime();
960
961 //地图位移
962 City.innerHTML = (isDS==true?"<SPAN STYLE='font-size:12pt;font-family:Wingdings; color:Red;'>R</span> ":'') + objTimeZone[2]; //首都
963 var pos = Math.floor(objTimeZone[0].substr(0,3));
964 if(pos<0) pos+=24;
965 pos*=-10;
966 world.style.left = pos;
967
968 }
969
970 ///////////////////////////////////////////////////////////////////////////
971
972 function initialize() {
973 var key;
974
975 //时间
976 map.filters.Light.Clear();
977 map.filters.Light.addAmbient(255,255,255,60);
978 map.filters.Light.addCone(120, 60, 80, 120, 60, 255,255,255,120,60);
979
980 objContinentMenu=document.WorldClock.continentMenu;
981 objCountryMenu=document.WorldClock.countryMenu;
982
983 for (key in timeData)
984 objContinentMenu[objContinentMenu.length]=new Option(key);
985
986 setTZ(0,18);
987
988 tick();
989
990
991 //月历
992 dStyle = detail.style;
993 CLD.SY.selectedIndex=tY-1900;
994 CLD.SM.selectedIndex=tM;
995 drawCld(tY,tM);
996
997 }
998
999 //-->
1000 </SCRIPT>
1001 <body oncontextmenu=self.event.returnValue=false onload=initialize()>
1002 <center>
1003 <?
1004 include "./head.inc.php";
1005 ?>
1006 <table width="760" border="0" cellpadding="0" cellspacing="0">
1007 <tr height=20 bgcolor=#F3F9FC>
1008 <td width="20">&nbsp;</td>
1009 <td>枫林在线 &gt;&gt; 万年历</td>
1010 <td width="20">&nbsp;</td>
1011 </tr>
1012 <tr>
1013 <td colspan=3 height=1 bgcolor=gray></td>
1014 </tr>
1015 <tr height=5>
1016 <td>&nbsp;</td>
1017 </tr>
1018 </table>
1019 <SCRIPT language=JavaScript><!--
1020 if(navigator.appName == "Netscape" || parseInt(navigator.appVersion) < 4)
1021 document.write("<h1>你的浏览器无法执行此程式。</h1>此程式需在 IE4 以后的版本才能执行!!")
1022 //--></SCRIPT>
1023 <table width="760" border="0" cellpadding="0" cellspacing="0">
1024 <tr>
1025 <td>
1026 <DIV id=detail
1027 style="Z-INDEX: 3; FILTER: shadow(color=#333333,direction=135); WIDTH: 140px; POSITION: absolute; HEIGHT: 120px"></DIV>
1028 <CENTER>
1029 <TABLE border=0>
1030 <TBODY>
1031 <TR><!------------------------------ 世界时间 ----------------------------------->
1032 <FORM name=WorldClock>
1033 <TD vAlign=top align=middle width=240 height=340><FONT
1034 style="FONT-SIZE: 9pt" size=2><B>本地时间</B></FONT><BR><SPAN id=LocalTime
1035 style="FONT-SIZE: 9pt; COLOR: #000080; FONT-FAMILY: Arial">0000年0月0日 ( )
1036  午 00:00:00</SPAN>
1037 <P><SPAN id=City style="FONT-SIZE: 9pt; WIDTH: 150px">中国</SPAN> <BR><SPAN
1038 id=GlobeTime
1039 style="FONT-SIZE: 9pt; COLOR: #000080; FONT-FAMILY: Arial">0000年0月0日 ( )
1040  午 00:00:00</SPAN><BR>
1041 <TABLE style="FONT-SIZE: 10pt; FONT-FAMILY: Wingdings">
1042 <TBODY>
1043 <TR>
1044 <TD align=middle>&Uacute;
1045 <DIV id=map
1046 style="FILTER: Light; OVERFLOW: hidden; WIDTH: 240px; HEIGHT: 120px; BACKGROUND-COLOR: mediumblue"><FONT
1047 id=world
1048 style="FONT-SIZE: 185px; LEFT: 0px; COLOR: green; FONT-FAMILY: Webdings; POSITION: relative; TOP: -26px">&ucirc;&ucirc;</FONT>
1049 </DIV>&Ugrave; </TD></TR></TBODY></TABLE><BR><SELECT
1050 style="FONT-WEIGHT: normal; FONT-SIZE: 9pt; WIDTH: 240px; LINE-HEIGHT: normal; FONT-STYLE: normal; BACKGROUND-COLOR: #bcc496; FONT-VARIANT: normal"
1051 onchange=chContinent() name=continentMenu></SELECT><BR><SELECT
1052 style="FONT-WEIGHT: normal; FONT-SIZE: 9pt; WIDTH: 240px; LINE-HEIGHT: normal; FONT-STYLE: normal; BACKGROUND-COLOR: #bcc496; FONT-VARIANT: normal"
1053 onchange=chCountry() name=countryMenu></SELECT></P></TD></FORM><!------------------------------ 万年历 ----------------------------------->
1054 <FORM name=CLD>
1055 <TD align=middle height=340>
1056 <DIV style="Z-INDEX: -1; POSITION: absolute; TOP: 150px"><FONT id=YMBG
1057 style="FONT-SIZE: 100pt; COLOR: #f0f0f0; FONT-FAMILY: 'Arial Black'">&nbsp;0000<BR>&nbsp;JUN</FONT>
1058 </DIV>
1059 <TABLE border=0>
1060 <TBODY>
1061 <TR>
1062 <TD bgColor=#000080 colSpan=7><FONT style="FONT-SIZE: 9pt"
1063 color=#ffffff size=2>西历<SELECT style="FONT-SIZE: 9pt"
1064 onchange=changeCld() name=SY>
1065 <SCRIPT language=JavaScript><!--
1066 for(i=1900;i<2051;i++) document.write('<option>'+i)
1067 //--></SCRIPT>
1068 </SELECT>年<SELECT style="FONT-SIZE: 9pt" onchange=changeCld()
1069 name=SM>
1070 <SCRIPT language=JavaScript><!--
1071 for(i=1;i<13;i++) document.write('<option>'+i)
1072 //--></SCRIPT>
1073 </SELECT>月</FONT> <FONT id=GZ color=#ffff00 size=4></FONT><BR></TD></TR>
1074 <TR align=middle bgColor=#ccccff>
1075 <TD width=54>日</TD>
1076 <TD width=54>一</TD>
1077 <TD width=54>二</TD>
1078 <TD width=50>三</TD>
1079 <TD width=54>四</TD>
1080 <TD width=54>五</TD>
1081 <TD width=54>六</TD></TR>
1082 <SCRIPT language=JavaScript><!--
1083 var gNum, color1, color2;
1084
1085 // 星期六颜色
1086 switch (conWeekend) {
1087 case 1:
1088 color1 = 'black';
1089 color2 = color1;
1090 break;
1091 case 2:
1092 color1 = 'green';
1093 color2 = color1;
1094 break;
1095 case 3:
1096 color1 = 'red';
1097 color2 = color1;
1098 break;
1099 default :
1100 color1 = 'green';
1101 color2 = 'red';
1102 }
1103
1104 for(i=0;i<6;i++) {
1105 document.write('<tr align=center>')
1106 for(j=0;j<7;j++) {
1107 gNum = i*7+j
1108 document.write('<td id="GD' + gNum +'" onMouseOver="mOvr(' + gNum +')" onMouseOut="mOut()"><font id="SD' + gNum +'" size=5 face="Arial Black"')
1109 if(j == 0) document.write(' color=red')
1110 if(j == 6) {
1111 if(i%2==1) document.write(' color='+color2)
1112 else document.write(' color='+color1)
1113 }
1114 document.write(' TITLE=""> </font><br><font id="LD' + gNum + '" size=2 style="font-size:9pt"> </font></td>')
1115 }
1116 document.write('</tr>')
1117 }
1118 //--></SCRIPT>
1119 </TBODY></TABLE></TD>
1120 <TD vAlign=top align=middle width=40 height=340><BR><BR><BR>年<BR><BUTTON
1121 style="FONT-SIZE: 9pt" onclick="pushBtm('YD')">▲</BUTTON><BR><BUTTON
1122 style="FONT-SIZE: 9pt" onclick="pushBtm('YU')">◆</BUTTON>
1123 <P>月<BR><BUTTON style="FONT-SIZE: 9pt"
1124 onclick="pushBtm('MD')">▲</BUTTON><BR><BUTTON style="FONT-SIZE: 9pt"
1125 onclick="pushBtm('MU')">◆</BUTTON>
1126 <P><BUTTON style="FONT-SIZE: 9pt" onclick="pushBtm('')">当<BR>月</BUTTON>
1127 <P></P></TD></FORM></TR></TBODY></TABLE></CENTER>
1128 </td>
1129 </tr>
1130 </table>
1131 <?
1132 include "./foot.inc.php";
1133 ?>
1134 </center>
1135 </body>
1136 </html>

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1