今天上网看到一万年历代码,共享一下,可显示农历,阳历,二十四节气,功能停强大的
今天上网找资料,无意中发现一万年历教本.前段时间我也java实现一个,不过感觉那个没有用教本实现的好,用教本时间对计算机要求比用java的低多了.我把这段教本共享一下,大家一起研究一下.这里面可以显示农历,阳历,二十四节气,功能停强大的
<
HTML
><
HEAD
><
TITLE
>
万年历查询
</
TITLE
>
< META
content = " 农历; 阳历; 月历; 节日; 时区; 节气; 八字; 干支; 生肖; gregorian solar; chinese lunar; calendar; "
name = keywords >
< META content = All name = robots >
< META content = " gregorian solar calendar and chinese lunar calendar "
name = description >
< META http - equiv = Content - Type content = " text/html; charset=gb2312 " >
< style type = " text/css " >
p {fONT-FAMILY: 宋体; FONT-SIZE: 9pt;line-height:12pt:color:#000000}
TD {fONT-FAMILY: 宋体,simsun; FONT-SIZE: 9pt}
a:link { color:#000000; text-decoration:none}
a:visited {COLOR: #000000; TEXT-DECORATION: none}
a:active {color:green;text-decoration:none}
a:hover {color:red;text-decoration:underline}
</ style >
< SCRIPT language = JavaScript >
<!--
/** */ /*****************************************************************************
日期资料
*****************************************************************************/
var lunarInfo = new Array(
0x04bd8 , 0x04ae0 , 0x0a570 , 0x054d5 , 0x0d260 , 0x0d950 , 0x16554 , 0x056a0 , 0x09ad0 , 0x055d2 ,
0x04ae0 , 0x0a5b6 , 0x0a4d0 , 0x0d250 , 0x1d255 , 0x0b540 , 0x0d6a0 , 0x0ada2 , 0x095b0 , 0x14977 ,
0x04970 , 0x0a4b0 , 0x0b4b5 , 0x06a50 , 0x06d40 , 0x1ab54 , 0x02b60 , 0x09570 , 0x052f2 , 0x04970 ,
0x06566 , 0x0d4a0 , 0x0ea50 , 0x06e95 , 0x05ad0 , 0x02b60 , 0x186e3 , 0x092e0 , 0x1c8d7 , 0x0c950 ,
0x0d4a0 , 0x1d8a6 , 0x0b550 , 0x056a0 , 0x1a5b4 , 0x025d0 , 0x092d0 , 0x0d2b2 , 0x0a950 , 0x0b557 ,
0x06ca0 , 0x0b550 , 0x15355 , 0x04da0 , 0x0a5b0 , 0x14573 , 0x052b0 , 0x0a9a8 , 0x0e950 , 0x06aa0 ,
0x0aea6 , 0x0ab50 , 0x04b60 , 0x0aae4 , 0x0a570 , 0x05260 , 0x0f263 , 0x0d950 , 0x05b57 , 0x056a0 ,
0x096d0 , 0x04dd5 , 0x04ad0 , 0x0a4d0 , 0x0d4d4 , 0x0d250 , 0x0d558 , 0x0b540 , 0x0b6a0 , 0x195a6 ,
0x095b0 , 0x049b0 , 0x0a974 , 0x0a4b0 , 0x0b27a , 0x06a50 , 0x06d40 , 0x0af46 , 0x0ab60 , 0x09570 ,
0x04af5 , 0x04970 , 0x064b0 , 0x074a3 , 0x0ea50 , 0x06b58 , 0x055c0 , 0x0ab60 , 0x096d5 , 0x092e0 ,
0x0c960 , 0x0d954 , 0x0d4a0 , 0x0da50 , 0x07552 , 0x056a0 , 0x0abb7 , 0x025d0 , 0x092d0 , 0x0cab5 ,
0x0a950 , 0x0b4a0 , 0x0baa4 , 0x0ad50 , 0x055d9 , 0x04ba0 , 0x0a5b0 , 0x15176 , 0x052b0 , 0x0a930 ,
0x07954 , 0x06aa0 , 0x0ad50 , 0x05b52 , 0x04b60 , 0x0a6e6 , 0x0a4e0 , 0x0d260 , 0x0ea65 , 0x0d530 ,
0x05aa0 , 0x076a3 , 0x096d0 , 0x04bd7 , 0x04ad0 , 0x0a4d0 , 0x1d0b6 , 0x0d250 , 0x0d520 , 0x0dd45 ,
0x0b5a0 , 0x056d0 , 0x055b2 , 0x049b0 , 0x0a577 , 0x0a4b0 , 0x0aa50 , 0x1b255 , 0x06d20 , 0x0ada0 ,
0x14b63 );
var solarMonth = new Array( 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 );
var Gan = new Array( " 甲 " , " 乙 " , " 丙 " , " 丁 " , " 戊 " , " 己 " , " 庚 " , " 辛 " , " 壬 " , " 癸 " );
var Zhi = new Array( " 子 " , " 丑 " , " 寅 " , " 卯 " , " 辰 " , " 巳 " , " 午 " , " 未 " , " 申 " , " 酉 " , " 戌 " , " 亥 " );
var Animals = new Array( " 鼠 " , " 牛 " , " 虎 " , " 兔 " , " 龙 " , " 蛇 " , " 马 " , " 羊 " , " 猴 " , " 鸡 " , " 狗 " , " 猪 " );
var solarTerm = new Array( " 小寒 " , " 大寒 " , " 立春 " , " 雨水 " , " 惊蛰 " , " 春分 " , " 清明 " , " 谷雨 " , " 立夏 " , " 小满 " , " 芒种 " , " 夏至 " , " 小暑 " , " 大暑 " , " 立秋 " , " 处暑 " , " 白露 " , " 秋分 " , " 寒露 " , " 霜降 " , " 立冬 " , " 小雪 " , " 大雪 " , " 冬至 " );
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 );
var nStr1 = new Array( ' 日 ' , ' 一 ' , ' 二 ' , ' 三 ' , ' 四 ' , ' 五 ' , ' 六 ' , ' 七 ' , ' 八 ' , ' 九 ' , ' 十 ' );
var nStr2 = new Array( ' 初 ' , ' 十 ' , ' 廿 ' , ' 卅 ' , ' □ ' );
var monthName = new Array( " JAN " , " FEB " , " MAR " , " APR " , " MAY " , " JUN " , " JUL " , " AUG " , " SEP " , " OCT " , " NOV " , " DEC " );
// 国历节日 *表示放假日
var sFtv = new Array(
" 0101*元旦节 " ,
" 0202 世界湿地日 " ,
" 0210 国际气象节 " ,
" 0214 情人节 " ,
" 0301 国际海豹日 " ,
" 0303 全国爱耳日 " ,
" 0305 学雷锋纪念日 " ,
" 0308 妇女节 " ,
" 0312 植树节 孙中山逝世纪念日 " ,
" 0314 国际警察日 " ,
" 0315 消费者权益日 " ,
" 0317 中国国医节 国际航海日 " ,
" 0321 世界森林日 消除种族歧视国际日 世界儿歌日 " ,
" 0322 世界水日 " ,
" 0323 世界气象日 " ,
" 0324 世界防治结核病日 " ,
" 0325 全国中小学生安全教育日 " ,
" 0330 巴勒斯坦国土日 " ,
" 0401 愚人节 全国爱国卫生运动月(四月) 税收宣传月(四月) " ,
" 0407 世界卫生日 " ,
" 0422 世界地球日 " ,
" 0423 世界图书和版权日 " ,
" 0424 亚非新闻工作者日 " ,
" 0501*劳动节 " ,
" 0502*劳动节假日 " ,
" 0503*劳动节假日 " ,
" 0504 青年节 " ,
" 0505 碘缺乏病防治日 " ,
" 0508 世界红十字日 " ,
" 0512 国际护士节 " ,
" 0515 国际家庭日 " ,
" 0517 国际电信日 " ,
" 0518 国际博物馆日 " ,
" 0520 全国学生营养日 " ,
" 0523 国际牛奶日 " ,
" 0531 世界无烟日 " ,
" 0601 国际儿童节 " ,
" 0605 世界环境保护日 " ,
" 0606 全国爱眼日 " ,
" 0617 防治荒漠化和干旱日 " ,
" 0623 国际奥林匹克日 " ,
" 0625 全国土地日 " ,
" 0626 国际禁毒日 " ,
" 0701 香港回归纪念日 中共诞辰 世界建筑日 " ,
" 0702 国际体育记者日 " ,
" 0707 抗日战争纪念日 " ,
" 0711 世界人口日 " ,
" 0730 非洲妇女日 " ,
" 0801 建军节 " ,
" 0808 中国男子节(爸爸节) " ,
" 0815 抗日战争胜利纪念 " ,
" 0908 国际扫盲日 国际新闻工作者日 " ,
" 0909 毛泽东逝世纪念 " ,
" 0910 中国教师节 " ,
" 0914 世界清洁地球日 " ,
" 0916 国际臭氧层保护日 " ,
" 0918 九·一八事变纪念日 " ,
" 0920 国际爱牙日 " ,
" 0927 世界旅游日 " ,
" 0928 孔子诞辰 " ,
" 1001*国庆节 世界音乐日 国际老人节 " ,
" 1002*国庆节假日 国际和平与民主自由斗争日 " ,
" 1003*国庆节假日 " ,
" 1004 世界动物日 " ,
" 1006 老人节 " ,
" 1008 全国高血压日 世界视觉日 " ,
" 1009 世界邮政日 万国邮联日 " ,
" 1010 辛亥革命纪念日 世界精神卫生日 " ,
" 1013 世界保健日 国际教师节 " ,
" 1014 世界标准日 " ,
" 1015 国际盲人节(白手杖节) " ,
" 1016 世界粮食日 " ,
" 1017 世界消除贫困日 " ,
" 1022 世界传统医药日 " ,
" 1024 联合国日 " ,
" 1031 世界勤俭日 " ,
" 1107 十月社会主义革命纪念日 " ,
" 1108 中国记者日 " ,
" 1109 全国消防安全宣传教育日 " ,
" 1110 世界青年节 " ,
" 1111 国际科学与和平周(本日所属的一周) " ,
" 1112 孙中山诞辰纪念日 " ,
" 1114 世界糖尿病日 " ,
" 1117 国际大学生节 世界学生节 " ,
" 1120*彝族年 " ,
" 1121*彝族年 世界问候日 世界电视日 " ,
" 1122*彝族年 " ,
" 1129 国际声援巴勒斯坦人民国际日 " ,
" 1201 世界艾滋病日 " ,
" 1203 世界残疾人日 " ,
" 1205 国际经济和社会发展志愿人员日 " ,
" 1208 国际儿童电视日 " ,
" 1209 世界足球日 " ,
" 1210 世界人权日 " ,
" 1212 西安事变纪念日 " ,
" 1213 南京大屠杀(1937年)纪念日!紧记血泪史! " ,
" 1220 澳门回归纪念 " ,
" 1221 国际篮球日 " ,
" 1224 平安夜 " ,
" 1225 圣诞节 " ,
" 1226 毛泽东诞辰纪念 " )
// 农历节日 *表示放假日
var lFtv = new Array(
" 0101*春节 " ,
" 0102*初二 " ,
" 0103*初三 " ,
" 0115 元宵节 " ,
" 0505 端午节 " ,
" 0707 七夕情人节 " ,
" 0715 中元节 " ,
" 0815 中秋节 " ,
" 0909 重阳节 " ,
" 1208 腊八节 " ,
" 1223 小年 " ,
" 0100 除夕 " )
// 某月的第几个星期几
var wFtv = new Array(
" 0150 世界麻风日 " , // 一月的最后一个星期日(月倒数第一个星期日)
" 0520 国际母亲节 " ,
" 0530 全国助残日 " ,
" 0630 父亲节 " ,
" 0730 被奴役国家周 " ,
" 0932 国际和平日 " ,
" 0940 国际聋人节 世界儿童日 " ,
" 0950 世界海事日 " ,
" 1011 国际住房日 " ,
" 1013 国际减轻自然灾害日(减灾日) " ,
" 1144 感恩节 " )
/** */ /*****************************************************************************
日期计算
*****************************************************************************/
// ====================================== 返回农历 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-1900] & 0x10000)? 30: 29);
else return(0);
}
// ====================================== 返回农历 y年闰哪个月 1-12 , 没闰返回 0
function leapMonth(y) {
return(lunarInfo[y-1900] & 0xf);
}
// ====================================== 返回农历 y年m月的总天数
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );
}
// ====================================== 算出农历, 传入日期控件, 返回农历日期控件
// 该控件属性有 .year .month .day .isLeap
function 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<2050 && 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;
}
//依节气调整二月分的年柱, 以立春为界
if(m==1 && (i+1)==term2) cY=cyclical(y-1900+36);
//依节气月柱, 以「节」为界
if((i+1)==firstNode) cM = cyclical((y-1900)*12+m+13);
//日柱
cD = cyclical(dayCyclical+i);
//sYear,sMonth,sDay,week,
//lYear,lMonth,lDay,isLeap,
//cYear,cMonth,cDay
this[i] = new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7],
lY, lM, lD++, lL,
cY ,cM, cD );
}
//节气
tmp1=sTerm(y,m*2 )-1;
tmp2=sTerm(y,m*2+1)-1;
this[tmp1].solarTerms = solarTerm[m*2];
this[tmp2].solarTerms = solarTerm[m*2+1];
if(m==3) this[tmp1].color = 'red'; //清明颜色
//公历节日
for(i in sFtv)
if(sFtv[i].match(/^(d{2})(d{2})([s*])(.+)$/))
if(Number(RegExp.$1)==(m+1)) {
this[Number(RegExp.$2)-1].solarFestival += RegExp.$4 + ' ';
if(RegExp.$3=='*') this[Number(RegExp.$2)-1].color = 'red';
}
//月周节日
for(i in wFtv)
if(wFtv[i].match(/^(d{2})(d)(d)([s*])(.+)$/))
if(Number(RegExp.$1)==(m+1)) {
tmp1=Number(RegExp.$2);
tmp2=Number(RegExp.$3);
if(tmp1<5)
this[((this.firstWeek>tmp2)?7:0) + 7*(tmp1-1) + tmp2 - this.firstWeek].solarFestival += RegExp.$5 + ' ';
else {
tmp1 -= 5;
tmp3 = (this.firstWeek+this.length-1)%7; //当月最后一天星期?
this[this.length - tmp3 - 7*tmp1 + tmp2 - (tmp2>tmp3?7:0) - 1 ].solarFestival += RegExp.$5 + ' ';
}
}
//农历节日
for(i in lFtv)
if(lFtv[i].match(/^(d{2})(.{2})([s*])(.+)$/)) {
tmp1=Number(RegExp.$1)-firstLM;
if(tmp1==-11) tmp1=1;
if(tmp1 >=0 && tmp1<n) {
tmp2 = lDPOS[tmp1] + Number(RegExp.$2) -1;
if( tmp2 >= 0 && tmp2<this.length && this[tmp2].isLeap!=true) {
this[tmp2].lunarFestival += RegExp.$4 + ' ';
if(RegExp.$3=='*') this[tmp2].color = 'red';
}
}
}
//复活节只出现在3或4月
if(m==2 || m==3) {
var estDay = new easter(y);
if(m == estDay.m)
this[estDay.d-1].solarFestival = this[estDay.d-1].solarFestival+' 复活节 Easter Sunday';
}
if(m==2) this[20].solarFestival = this[20].solarFestival+unescape('%20%u6D35%u8CE2%u751F%u65E5');
//黑色星期五
if((this.firstWeek+12)%7==5)
this[12].solarFestival += '黑色星期五';
//今日
if(y==tY && m==tM) this[tD-1].isToday = true;
}
// ======================================= 返回该年的复活节(春分后第一次满月周后的第一主日)
function easter(y) {
var term2=sTerm(y,5); //取得春分日期
var dayTerm2 = new Date(Date.UTC(y,2,term2,0,0,0,0)); //取得春分的公历日期控件(春分一定出现在3月)
var lDayTerm2 = new Lunar(dayTerm2); //取得取得春分农历
if(lDayTerm2.day<15) //取得下个月圆的相差天数
var lMlen= 15-lDayTerm2.day;
else
var lMlen= (lDayTerm2.isLeap? leapDays(y): monthDays(y,lDayTerm2.month)) - lDayTerm2.day + 15;
//一天等于 1000*60*60*24 = 86400000 毫秒
var l15 = new Date(dayTerm2.getTime() + 86400000*lMlen ); //求出第一次月圆为公历几日
var dayEaster = new Date(l15.getTime() + 86400000*( 7-l15.getUTCDay() ) ); //求出下个周日
this.m = dayEaster.getUTCMonth();
this.d = dayEaster.getUTCDate();
}
// ====================== 中文日期
function cDay(d) {
var s;
switch (d) {
case 10:
s = '初十'; break;
case 20:
s = '二十'; break;
break;
case 30:
s = '三十'; break;
break;
default :
s = nStr2[Math.floor(d/10)];
s += nStr1[d%10];
}
return(s);
}
////////////////////////////////////////////////////////////////////////////// /
var cld;
function drawCld(SY,SM) {
var i,sD,s,size;
cld = new calendar(SY,SM);
if(SY>1874 && SY<1909) yDisplay = '光绪' + (((SY-1874)==1)?'元':SY-1874);
if(SY>1908 && SY<1912) yDisplay = '宣统' + (((SY-1908)==1)?'元':SY-1908);
if(SY>1911) yDisplay = '建国' + (((SY-1949)==1)?'元':SY-1949);
GZ.innerHTML = yDisplay +'年 农历 ' + cyclical(SY-1900+36) + '年 【'+Animals[(SY-4)%12]+'年】';
YMBG.innerHTML = " " + SY + "<BR> " + monthName[SM];
for(i=0;i<42;i++) {
sObj=eval('SD'+ i);
lObj=eval('LD'+ i);
sObj.className = '';
sD = i - cld.firstWeek;
if(sD>-1 && sD<cld.length) { //日期内
sObj.innerHTML = sD+1;
if(cld[sD].isToday) sObj.className = 'todyaColor'; //今日颜色
sObj.style.color = cld[sD].color; //法定假日颜色
if(cld[sD].lDay==1) //显示农历月
lObj.innerHTML = '<b>'+(cld[sD].isLeap?'闰':'') + cld[sD].lMonth + '月' + (monthDays(cld[sD].lYear,cld[sD].lMonth)==29?'小':'大')+'</b>';
else //显示农历日
lObj.innerHTML = cDay(cld[sD].lDay);
s=cld[sD].lunarFestival;
if(s.length>0) { //农历节日
if(s.length>6) s = s.substr(0, 4)+'';
s = s.fontcolor('red');
}
else { //公历节日
s=cld[sD].solarFestival;
if(s.length>0) {
size = (s.charCodeAt(0)>0 && s.charCodeAt(0)<128)?8:4;
if(s.length>size+2) s = s.substr(0, size)+'';
s=(s=='黑色星期五')?s.fontcolor('black'):s.fontcolor('blue');
}
else { //廿四节气
s=cld[sD].solarTerms;
if(s.length>0) s = s.fontcolor('limegreen');
}
}
if(cld[sD].solarTerms=='清明') s = '清明节'.fontcolor('red');
if(cld[sD].solarTerms=='芒种') s = '芒种节'.fontcolor('red');
if(cld[sD].solarTerms=='夏至') s = '夏至节'.fontcolor('red');
if(cld[sD].solarTerms=='冬至') s = '冬至节'.fontcolor('red');
if(s.length>0) lObj.innerHTML = s;
}
else { //非日期
sObj.innerHTML = '';
lObj.innerHTML = '';
}
}
}
function changeCld() {
var y,m;
y=CLD.SY.selectedIndex+1900;
m=CLD.SM.selectedIndex;
drawCld(y,m);
}
function pushBtm(K) {
switch (K){
case 'YU' :
if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
break;
case 'YD' :
if(CLD.SY.selectedIndex<150) CLD.SY.selectedIndex++;
break;
case 'MU' :
if(CLD.SM.selectedIndex>0) {
CLD.SM.selectedIndex--;
}
else {
CLD.SM.selectedIndex=11;
if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
}
break;
case 'MD' :
if(CLD.SM.selectedIndex<11) {
CLD.SM.selectedIndex++;
}
else {
CLD.SM.selectedIndex=0;
if(CLD.SY.selectedIndex<150) CLD.SY.selectedIndex++;
}
break;
default :
CLD.SY.selectedIndex=tY-1900;
CLD.SM.selectedIndex=tM;
}
changeCld();
}
var Today = new Date();
var tY = Today.getFullYear();
var tM = Today.getMonth();
var tD = Today.getDate();
//////////////////////////////////////////////////////////////////////////////
var width = " 130 " ;
var offsetx = 2 ;
var offsety = 8 ;
var x = 0 ;
var y = 0 ;
var snow = 0 ;
var sw = 0 ;
var cnt = 0 ;
var dStyle;
document.onmousemove = mEvn;
// 显示详细日期资料
function mOvr(v) {
var s,festival;
var sObj=eval('SD'+ v);
var d=sObj.innerHTML-1;
//sYear,sMonth,sDay,week,
//lYear,lMonth,lDay,isLeap,
//cYear,cMonth,cDay
if(sObj.innerHTML!='') {
sObj.style.cursor = 's-resize';
if(cld[d].solarTerms == '' && cld[d].solarFestival == '' && cld[d].lunarFestival == '')
festival = '';
else
festival = '<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#CCFFCC"><TR><TD>'+
'<FONT COLOR="#000000" STYLE="font-size:9pt;">'+cld[d].solarTerms + ' ' + cld[d].solarFestival + ' ' + cld[d].lunarFestival+'</FONT></TD>'+
'</TR></TABLE>';
s= '<TABLE WIDTH="130" BORDER=0 CELLPADDING="2" CELLSPACING=0 BGCOLOR="#000066" style="filter:Alpha(opacity=80)"><TR><TD>' +
'<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD ALIGN="right"><FONT COLOR="#ffffff" STYLE="font-size:9pt;">'+
cld[d].sYear+' 年 '+cld[d].sMonth+' 月 '+cld[d].sDay+' 日<br>星期'+cld[d].week+'<br>'+
'<font color="violet">农历'+(cld[d].isLeap?'闰 ':' ')+cld[d].lMonth+' 月 '+cld[d].lDay+' 日</font><br>'+
'<font color="yellow">'+cld[d].cYear+'年 '+cld[d].cMonth+'月 '+cld[d].cDay + '日</font>'+
'</FONT></TD></TR></TABLE>'+ festival +'</TD></TR></TABLE>';
document.all["detail"].innerHTML = s;
if (snow == 0) {
dStyle.left = x+offsetx-(width/2);
dStyle.top = y+offsety;
dStyle.visibility = "visible";
snow = 1;
}
}
}
// 清除详细日期资料
function mOut() {
if ( cnt >= 1 ) { sw = 0; }
if ( sw == 0 ) { snow = 0; dStyle.visibility = "hidden";}
else cnt++;
}
// 取得位置
function mEvn() {
x=event.x;
y=event.y;
if (document.body.scrollLeft)
{x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
if (snow){
dStyle.left = x+offsetx-(width/2);
dStyle.top = y+offsety;
}
}
////////////////////////////////////////////////////////////////////////// /
function changeTZ() {
CITY.innerHTML = CLD.TZ.value.substr(6)
setCookie("TZ",CLD.TZ.selectedIndex)
}
function tick() {
var today
today = new Date()
Clock.innerHTML = today.toLocaleString()
Clock2.innerHTML = TimeAdd(today.toGMTString(), CLD.TZ.value)
window.setTimeout("tick()", 1000);
}
function setCookie(name, value) {
var today = new Date()
var expires = new Date()
expires.setTime(today.getTime() + 1000*60*60*24*365)
document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString()
}
function getCookie(Name) {
var search = Name + "="
if(document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if(offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if(end == -1) end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
}
else return ""
}
}
//////////////////////////////////////////////////////// /
function initial() {
dStyle = detail.style;
CLD.SY.selectedIndex=tY-1900;
CLD.SM.selectedIndex=tM;
drawCld(tY,tM);
pushBtm('');
CLD.TZ.selectedIndex=getCookie("TZ");
changeTZ();
tick();
}
// -->
</ SCRIPT >
< SCRIPT language = VBScript >
<!--
' ===== 算世界时间
Function TimeAdd(UTC,T)
Dim PlusMinus, DST, y,tSave
If Left(T, 1 ) = " - " Then PlusMinus = - 1 Else PlusMinus = 1
UTC = Right(UTC,Len(UTC) - 5 )
UTC = Left(UTC,Len(UTC) - 4 )
y = Year(UTC)
TimeAdd = DateAdd( " n " , (Cint(Mid(T, 2 , 2 )) * 60 + Cint(Mid(T, 4 , 2 ))) * PlusMinus, UTC)
' 美国日光节约期间: 4月第一个星日00:00 至 10月最後一个星期日00:00
If Mid(T, 6 , 1 ) = " * " And DateSerial(y, 4 ,( 9 - Weekday(DateSerial(y, 4 , 1 )) mod 7 ) ) <= TimeAdd And DateSerial(y, 10 , 31 - Weekday(DateSerial(y, 10 , 31 ))) >= TimeAdd Then
TimeAdd = CStr(DateAdd( " h " , 1 , TimeAdd)) & " <FONT STYLE='font-size:18pt;font-family:Wingdings; color:red'>R</FONT> "
Else
End If
TimeAdd = CStr(TimeAdd)
End Function
' -->
</ SCRIPT >
< STYLE > .todyaColor {
BACKGROUND-COLOR: aqua
}
</ STYLE >
< META content = " MSHTML 6.00.2800.1505 " name = GENERATOR ></ HEAD >
< BODY leftMargin = 0 topMargin = 0 onload = initial() >
< SCRIPT language = JavaScript >
<!--
if (navigator.appName == " Netscape " || parseInt(navigator.appVersion) < 4 )
document.write( " <h1>你的浏览器无法执行此程序。</h1>此程序在 IE4 以后的版本才能执行!! " )
// -->
</ SCRIPT >
< SCRIPT language = JavaScript >
lck = 0 ;
function r(hval)
{
if ( lck == 0 )
{
document.bgColor=hval;
}
}
</ SCRIPT >
< DIV id = detail style = " POSITION: absolute " ></ DIV >
< CENTER >
< FORM name = CLD >
< TABLE >
< TBODY >
< TR >
< TD vAlign = top align = middle >< BR >< FONT style = " FONT-SIZE: 9pt "
size = 2 > 本机时间: </ FONT >< BR >< FONT id = Clock face = Arial color = # 000080 size = 4
align = " center " ></ FONT >
< P ><!-- 时区 * 表示自动调整为日光节约时间 -->< FONT style = " FONT-SIZE: 9pt " size = 2 >< SELECT
style = " FONT-SIZE: 9pt " onchange = changeTZ() name = TZ > < OPTION
value = " -1200 安尼威土克、瓜甲兰 " selected > 国际换日线 < OPTION
value = " -1100 中途岛、萨摩亚群岛 " > 萨摩亚 < OPTION value = " -1000 夏威夷 " > 夏威夷 < OPTION
value =- 0900 * 阿拉斯加 > 阿拉斯加 < OPTION value =- 0800 * 太平洋时间(美加)、提亚纳 > 太平洋 < OPTION
value =- 0700 * 亚历桑那 > 美国山区 < OPTION value =- 0700 * 山区时间(美加) > 美加山区 < OPTION
value =- 0600 * 萨克其万(加拿大) > 加拿大中部 < OPTION value =- 0600 * 墨西哥市、塔克西卡帕 > 墨西哥 < OPTION
value =- 0600 * 中部时间(美加) > 美加中部 < OPTION value =- 0500 * 波哥大、里玛 > 南美洲太平洋 < OPTION
value =- 0500 * 东部时间(美加) > 美加东部 < OPTION value =- 0500 * 印第安纳(东部) > 美东 < OPTION
value =- 0400 * 加拉卡斯、拉帕兹 > 南美洲西部 < OPTION value = " -0400*大西洋时间 加拿大) " > 大西洋 < OPTION
value = " -0330 新岛(加拿大东岸) " > 纽芬兰 < OPTION value = " -0300 波西尼亚 " > 东南美洲 < OPTION
value = " -0300 布鲁诺斯爱丽斯、乔治城 " > 南美洲东部 < OPTION value =- 0200 * 大西洋中部 > 大西洋中部 < OPTION
value =- 0100 * 亚速尔群岛、维德角群岛 > 亚速尔 < OPTION
value = " +0000 格林威治时间、都柏林、爱丁堡、伦敦 " > 英国夏令 < OPTION
value = " +0000 莫洛维亚(赖比瑞亚)、卡萨布兰卡 " > 格林威治标准 < OPTION
value = " +0100 巴黎、马德里 " > 罗马 < OPTION value = " +0100 布拉格, 华沙, 布达佩斯 " > 中欧 < OPTION
value = " +0100 柏林、斯德哥尔摩、罗马、伯恩、布鲁赛尔、维也纳 " > 西欧 < OPTION
value = " +0200 以色列 " > 以色列 < OPTION value =+ 0200 * 东欧 > 东欧 < OPTION
value =+ 0200 * 开罗 > 埃及 < OPTION value =+ 0200 * 雅典、赫尔辛基、伊斯坦堡 > GFT < OPTION
value =+ 0200 * 赫拉雷、皮托里 > 南非 < OPTION
value =+ 0300 * 巴格达、科威特、奈洛比(肯亚)、里雅德(沙乌地) > 沙乌地阿拉伯 < OPTION
value =+ 0300 * 莫斯科、圣彼得堡、贺占、窝瓦格瑞德 > 俄罗斯 < OPTION value =+ 0330 * 德黑兰 > 伊朗 < OPTION
value =+ 0400 * 阿布达比(东阿拉伯)、莫斯凯、塔布理斯(乔治亚共和) > 阿拉伯 < OPTION
value =+ 0430 * 喀布尔 > 阿富汗 < OPTION value = " +0500 伊斯兰马巴德、克洛奇、伊卡特林堡、塔须肯 " > 西亚 < OPTION
value = " +0530 孟买、加尔各答、马垂斯、新德里、可伦坡 " > 印度 < OPTION
value = " +0600 阿马提、达卡 " > 中亚 < OPTION value = " +0700 曼谷、亚加达、胡志明市 " > 曼谷 < OPTION
value = " +0800 北京、重庆、黑龙江 " > 中国 < OPTION
value = " +0900 东京、大阪、扎幌、汉城、亚库兹(东西伯利亚) " > 东京 < OPTION
value = " +0930 达尔文 " > 澳洲中部 < OPTION value = " +1000 布里斯本、墨尔本、席德尼 " > 席德尼 < OPTION
value = " +1000 霍巴特 " > 塔斯梅尼亚 < OPTION value = " +1000 关岛、莫斯比港、海 威 " > 西太平洋 < OPTION
value =+ 1100 * 马哥大、所罗门群岛、新卡伦多尼亚 > 太平洋中部 < OPTION
value = " +1200 威灵顿、奥克兰 " > 纽西兰 < OPTION
value = " +1200 斐济、肯加塔、马歇尔群岛 " > 斐济 </ OPTION >
</ SELECT > 时间 </ FONT >< BR >< FONT
id = Clock2 face = Arial color = # 000080 size = 4 align = " center " ></ FONT >< BR >< FONT
style = " FONT-SIZE: 120pt; COLOR: green; FONT-FAMILY: Webdings " >& ucirc; </ FONT >< BR >< FONT
id = CITY
style = " FONT-SIZE: 9pt; WIDTH: 150px; COLOR: blue; FONT-FAMILY: '新细明体' " ></ FONT ></ P >
</ TD >
< TD align = middle >
< DIV style = " Z-INDEX: -1; POSITION: absolute; TOP: 30px " >< FONT id = YMBG
style = " FONT-SIZE: 90pt; COLOR: #f0f0f0; FONT-FAMILY: 'Arial Black' " >& nbsp; 0000 < BR >& nbsp;JUN </ FONT >
</ DIV >
< TABLE border = 0 >
< TBODY >
< TR >
< TD bgColor = # 000080 colSpan = 7 >< FONT style = " FONT-SIZE: 9pt "
color = #ffffff size = 2 > 公历 < SELECT style = " FONT-SIZE: 9pt "
onchange = changeCld() name = SY >
< SCRIPT language = JavaScript ><!--
for (i = 1900 ;i < 2050 ;i ++ ) document.write( ' <option> ' + i)
// --></SCRIPT>
</ SELECT > 年 < SELECT style = " FONT-SIZE: 9pt " onchange = changeCld()
name = SM >
< SCRIPT language = JavaScript ><!--
for (i = 1 ;i < 13 ;i ++ ) document.write( ' <option> ' + i)
// --></SCRIPT>
</ SELECT > 月 </ FONT >< FONT id = GZ face = 标楷体 color = yellow
size = 3 ></ FONT >< BR ></ TD ></ TR >
< TR align = middle bgColor = #e0e0e0 >
< TD width = 54 >< FONT color = red > 日 </ FONT ></ TD >
< TD width = 54 > 一 </ TD >
< TD width = 54 > 二 </ TD >
< TD width = 54 > 三 </ TD >
< TD width = 54 > 四 </ TD >
< TD width = 54 > 五 </ TD >
< TD width = 54 >< FONT color = green > 六 </ FONT ></ TD ></ TR >
< SCRIPT language = JavaScript ><!--
var gNum
for (i = 0 ;i < 6 ;i ++ ) {
document.write('<tr align=center>')
for(j=0;j<7;j++) {
gNum = i*7+j
document.write('<td id="GD' + gNum +'" onMouseOver="mOvr(' + gNum +')" onMouseOut="mOut()"><font id="SD' + gNum +'" size=5 face="Arial Black"')
if(j == 0) document.write(' color=red')
if(j == 6)
if(i%2==1) document.write(' color=red')
else document.write(' color=green')
document.write(' TITLE=""> </font><br><font id="LD' + gNum + '" size=2 style="font-size:9pt"> </font></td>')
}
document.write('</tr>')
}
// --></SCRIPT>
</ TBODY ></ TABLE ></ TD >
< TD vAlign = top align = middle width = 40 >< BR >< BR >< BR >< BR >< BUTTON
style = " FONT-SIZE: 9pt " onclick = " pushBtm('YU') " > 年↑ </ BUTTON >< BR >< BUTTON
style = " FONT-SIZE: 9pt " onclick = " pushBtm('YD') " > 年↓ </ BUTTON >
< P >< BUTTON style = " FONT-SIZE: 9pt "
onclick = " pushBtm('MU') " > 月↑ </ BUTTON >< BR >< BUTTON style = " FONT-SIZE: 9pt "
onclick = " pushBtm('MD') " > 月↓ </ BUTTON >
< P >< BUTTON style = " FONT-SIZE: 9pt " onclick = " pushBtm('') " > 今日 </ BUTTON >
</ P ></ TD ></ TR ></ TBODY ></ TABLE ></ FORM >
< P ></ P >
< HR width = " 90% " color = #cccccc noShade SIZE = 1 >
< FONT style = " FONT-SIZE: 9pt " face = ARIAL size = 2 > 阳历中 < FONT
color = red > 红色 </ FONT >/< FONT color = green > 绿色 </ FONT >< FONT color = black > 表示节假日,农历中 < FONT
color = green > 绿色 </ FONT > 表示为24节气日, < FONT color = red > 红色 </ FONT > 表示为传统节日, < FONT
color = blue > 蓝色 </ FONT > 则表示为公众节假日 < BR ></ CENTER ></ BODY ></ HTML >
< META
content = " 农历; 阳历; 月历; 节日; 时区; 节气; 八字; 干支; 生肖; gregorian solar; chinese lunar; calendar; "
name = keywords >
< META content = All name = robots >
< META content = " gregorian solar calendar and chinese lunar calendar "
name = description >
< META http - equiv = Content - Type content = " text/html; charset=gb2312 " >
< style type = " text/css " >
p {fONT-FAMILY: 宋体; FONT-SIZE: 9pt;line-height:12pt:color:#000000}
TD {fONT-FAMILY: 宋体,simsun; FONT-SIZE: 9pt}
a:link { color:#000000; text-decoration:none}
a:visited {COLOR: #000000; TEXT-DECORATION: none}
a:active {color:green;text-decoration:none}
a:hover {color:red;text-decoration:underline}
</ style >
< SCRIPT language = JavaScript >
<!--
/** */ /*****************************************************************************
日期资料
*****************************************************************************/
var lunarInfo = new Array(
0x04bd8 , 0x04ae0 , 0x0a570 , 0x054d5 , 0x0d260 , 0x0d950 , 0x16554 , 0x056a0 , 0x09ad0 , 0x055d2 ,
0x04ae0 , 0x0a5b6 , 0x0a4d0 , 0x0d250 , 0x1d255 , 0x0b540 , 0x0d6a0 , 0x0ada2 , 0x095b0 , 0x14977 ,
0x04970 , 0x0a4b0 , 0x0b4b5 , 0x06a50 , 0x06d40 , 0x1ab54 , 0x02b60 , 0x09570 , 0x052f2 , 0x04970 ,
0x06566 , 0x0d4a0 , 0x0ea50 , 0x06e95 , 0x05ad0 , 0x02b60 , 0x186e3 , 0x092e0 , 0x1c8d7 , 0x0c950 ,
0x0d4a0 , 0x1d8a6 , 0x0b550 , 0x056a0 , 0x1a5b4 , 0x025d0 , 0x092d0 , 0x0d2b2 , 0x0a950 , 0x0b557 ,
0x06ca0 , 0x0b550 , 0x15355 , 0x04da0 , 0x0a5b0 , 0x14573 , 0x052b0 , 0x0a9a8 , 0x0e950 , 0x06aa0 ,
0x0aea6 , 0x0ab50 , 0x04b60 , 0x0aae4 , 0x0a570 , 0x05260 , 0x0f263 , 0x0d950 , 0x05b57 , 0x056a0 ,
0x096d0 , 0x04dd5 , 0x04ad0 , 0x0a4d0 , 0x0d4d4 , 0x0d250 , 0x0d558 , 0x0b540 , 0x0b6a0 , 0x195a6 ,
0x095b0 , 0x049b0 , 0x0a974 , 0x0a4b0 , 0x0b27a , 0x06a50 , 0x06d40 , 0x0af46 , 0x0ab60 , 0x09570 ,
0x04af5 , 0x04970 , 0x064b0 , 0x074a3 , 0x0ea50 , 0x06b58 , 0x055c0 , 0x0ab60 , 0x096d5 , 0x092e0 ,
0x0c960 , 0x0d954 , 0x0d4a0 , 0x0da50 , 0x07552 , 0x056a0 , 0x0abb7 , 0x025d0 , 0x092d0 , 0x0cab5 ,
0x0a950 , 0x0b4a0 , 0x0baa4 , 0x0ad50 , 0x055d9 , 0x04ba0 , 0x0a5b0 , 0x15176 , 0x052b0 , 0x0a930 ,
0x07954 , 0x06aa0 , 0x0ad50 , 0x05b52 , 0x04b60 , 0x0a6e6 , 0x0a4e0 , 0x0d260 , 0x0ea65 , 0x0d530 ,
0x05aa0 , 0x076a3 , 0x096d0 , 0x04bd7 , 0x04ad0 , 0x0a4d0 , 0x1d0b6 , 0x0d250 , 0x0d520 , 0x0dd45 ,
0x0b5a0 , 0x056d0 , 0x055b2 , 0x049b0 , 0x0a577 , 0x0a4b0 , 0x0aa50 , 0x1b255 , 0x06d20 , 0x0ada0 ,
0x14b63 );
var solarMonth = new Array( 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 );
var Gan = new Array( " 甲 " , " 乙 " , " 丙 " , " 丁 " , " 戊 " , " 己 " , " 庚 " , " 辛 " , " 壬 " , " 癸 " );
var Zhi = new Array( " 子 " , " 丑 " , " 寅 " , " 卯 " , " 辰 " , " 巳 " , " 午 " , " 未 " , " 申 " , " 酉 " , " 戌 " , " 亥 " );
var Animals = new Array( " 鼠 " , " 牛 " , " 虎 " , " 兔 " , " 龙 " , " 蛇 " , " 马 " , " 羊 " , " 猴 " , " 鸡 " , " 狗 " , " 猪 " );
var solarTerm = new Array( " 小寒 " , " 大寒 " , " 立春 " , " 雨水 " , " 惊蛰 " , " 春分 " , " 清明 " , " 谷雨 " , " 立夏 " , " 小满 " , " 芒种 " , " 夏至 " , " 小暑 " , " 大暑 " , " 立秋 " , " 处暑 " , " 白露 " , " 秋分 " , " 寒露 " , " 霜降 " , " 立冬 " , " 小雪 " , " 大雪 " , " 冬至 " );
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 );
var nStr1 = new Array( ' 日 ' , ' 一 ' , ' 二 ' , ' 三 ' , ' 四 ' , ' 五 ' , ' 六 ' , ' 七 ' , ' 八 ' , ' 九 ' , ' 十 ' );
var nStr2 = new Array( ' 初 ' , ' 十 ' , ' 廿 ' , ' 卅 ' , ' □ ' );
var monthName = new Array( " JAN " , " FEB " , " MAR " , " APR " , " MAY " , " JUN " , " JUL " , " AUG " , " SEP " , " OCT " , " NOV " , " DEC " );
// 国历节日 *表示放假日
var sFtv = new Array(
" 0101*元旦节 " ,
" 0202 世界湿地日 " ,
" 0210 国际气象节 " ,
" 0214 情人节 " ,
" 0301 国际海豹日 " ,
" 0303 全国爱耳日 " ,
" 0305 学雷锋纪念日 " ,
" 0308 妇女节 " ,
" 0312 植树节 孙中山逝世纪念日 " ,
" 0314 国际警察日 " ,
" 0315 消费者权益日 " ,
" 0317 中国国医节 国际航海日 " ,
" 0321 世界森林日 消除种族歧视国际日 世界儿歌日 " ,
" 0322 世界水日 " ,
" 0323 世界气象日 " ,
" 0324 世界防治结核病日 " ,
" 0325 全国中小学生安全教育日 " ,
" 0330 巴勒斯坦国土日 " ,
" 0401 愚人节 全国爱国卫生运动月(四月) 税收宣传月(四月) " ,
" 0407 世界卫生日 " ,
" 0422 世界地球日 " ,
" 0423 世界图书和版权日 " ,
" 0424 亚非新闻工作者日 " ,
" 0501*劳动节 " ,
" 0502*劳动节假日 " ,
" 0503*劳动节假日 " ,
" 0504 青年节 " ,
" 0505 碘缺乏病防治日 " ,
" 0508 世界红十字日 " ,
" 0512 国际护士节 " ,
" 0515 国际家庭日 " ,
" 0517 国际电信日 " ,
" 0518 国际博物馆日 " ,
" 0520 全国学生营养日 " ,
" 0523 国际牛奶日 " ,
" 0531 世界无烟日 " ,
" 0601 国际儿童节 " ,
" 0605 世界环境保护日 " ,
" 0606 全国爱眼日 " ,
" 0617 防治荒漠化和干旱日 " ,
" 0623 国际奥林匹克日 " ,
" 0625 全国土地日 " ,
" 0626 国际禁毒日 " ,
" 0701 香港回归纪念日 中共诞辰 世界建筑日 " ,
" 0702 国际体育记者日 " ,
" 0707 抗日战争纪念日 " ,
" 0711 世界人口日 " ,
" 0730 非洲妇女日 " ,
" 0801 建军节 " ,
" 0808 中国男子节(爸爸节) " ,
" 0815 抗日战争胜利纪念 " ,
" 0908 国际扫盲日 国际新闻工作者日 " ,
" 0909 毛泽东逝世纪念 " ,
" 0910 中国教师节 " ,
" 0914 世界清洁地球日 " ,
" 0916 国际臭氧层保护日 " ,
" 0918 九·一八事变纪念日 " ,
" 0920 国际爱牙日 " ,
" 0927 世界旅游日 " ,
" 0928 孔子诞辰 " ,
" 1001*国庆节 世界音乐日 国际老人节 " ,
" 1002*国庆节假日 国际和平与民主自由斗争日 " ,
" 1003*国庆节假日 " ,
" 1004 世界动物日 " ,
" 1006 老人节 " ,
" 1008 全国高血压日 世界视觉日 " ,
" 1009 世界邮政日 万国邮联日 " ,
" 1010 辛亥革命纪念日 世界精神卫生日 " ,
" 1013 世界保健日 国际教师节 " ,
" 1014 世界标准日 " ,
" 1015 国际盲人节(白手杖节) " ,
" 1016 世界粮食日 " ,
" 1017 世界消除贫困日 " ,
" 1022 世界传统医药日 " ,
" 1024 联合国日 " ,
" 1031 世界勤俭日 " ,
" 1107 十月社会主义革命纪念日 " ,
" 1108 中国记者日 " ,
" 1109 全国消防安全宣传教育日 " ,
" 1110 世界青年节 " ,
" 1111 国际科学与和平周(本日所属的一周) " ,
" 1112 孙中山诞辰纪念日 " ,
" 1114 世界糖尿病日 " ,
" 1117 国际大学生节 世界学生节 " ,
" 1120*彝族年 " ,
" 1121*彝族年 世界问候日 世界电视日 " ,
" 1122*彝族年 " ,
" 1129 国际声援巴勒斯坦人民国际日 " ,
" 1201 世界艾滋病日 " ,
" 1203 世界残疾人日 " ,
" 1205 国际经济和社会发展志愿人员日 " ,
" 1208 国际儿童电视日 " ,
" 1209 世界足球日 " ,
" 1210 世界人权日 " ,
" 1212 西安事变纪念日 " ,
" 1213 南京大屠杀(1937年)纪念日!紧记血泪史! " ,
" 1220 澳门回归纪念 " ,
" 1221 国际篮球日 " ,
" 1224 平安夜 " ,
" 1225 圣诞节 " ,
" 1226 毛泽东诞辰纪念 " )
// 农历节日 *表示放假日
var lFtv = new Array(
" 0101*春节 " ,
" 0102*初二 " ,
" 0103*初三 " ,
" 0115 元宵节 " ,
" 0505 端午节 " ,
" 0707 七夕情人节 " ,
" 0715 中元节 " ,
" 0815 中秋节 " ,
" 0909 重阳节 " ,
" 1208 腊八节 " ,
" 1223 小年 " ,
" 0100 除夕 " )
// 某月的第几个星期几
var wFtv = new Array(
" 0150 世界麻风日 " , // 一月的最后一个星期日(月倒数第一个星期日)
" 0520 国际母亲节 " ,
" 0530 全国助残日 " ,
" 0630 父亲节 " ,
" 0730 被奴役国家周 " ,
" 0932 国际和平日 " ,
" 0940 国际聋人节 世界儿童日 " ,
" 0950 世界海事日 " ,
" 1011 国际住房日 " ,
" 1013 国际减轻自然灾害日(减灾日) " ,
" 1144 感恩节 " )
/** */ /*****************************************************************************
日期计算
*****************************************************************************/
// ====================================== 返回农历 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-1900] & 0x10000)? 30: 29);
else return(0);
}
// ====================================== 返回农历 y年闰哪个月 1-12 , 没闰返回 0
function leapMonth(y) {
return(lunarInfo[y-1900] & 0xf);
}
// ====================================== 返回农历 y年m月的总天数
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );
}
// ====================================== 算出农历, 传入日期控件, 返回农历日期控件
// 该控件属性有 .year .month .day .isLeap
function 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<2050 && 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;
}
//依节气调整二月分的年柱, 以立春为界
if(m==1 && (i+1)==term2) cY=cyclical(y-1900+36);
//依节气月柱, 以「节」为界
if((i+1)==firstNode) cM = cyclical((y-1900)*12+m+13);
//日柱
cD = cyclical(dayCyclical+i);
//sYear,sMonth,sDay,week,
//lYear,lMonth,lDay,isLeap,
//cYear,cMonth,cDay
this[i] = new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7],
lY, lM, lD++, lL,
cY ,cM, cD );
}
//节气
tmp1=sTerm(y,m*2 )-1;
tmp2=sTerm(y,m*2+1)-1;
this[tmp1].solarTerms = solarTerm[m*2];
this[tmp2].solarTerms = solarTerm[m*2+1];
if(m==3) this[tmp1].color = 'red'; //清明颜色
//公历节日
for(i in sFtv)
if(sFtv[i].match(/^(d{2})(d{2})([s*])(.+)$/))
if(Number(RegExp.$1)==(m+1)) {
this[Number(RegExp.$2)-1].solarFestival += RegExp.$4 + ' ';
if(RegExp.$3=='*') this[Number(RegExp.$2)-1].color = 'red';
}
//月周节日
for(i in wFtv)
if(wFtv[i].match(/^(d{2})(d)(d)([s*])(.+)$/))
if(Number(RegExp.$1)==(m+1)) {
tmp1=Number(RegExp.$2);
tmp2=Number(RegExp.$3);
if(tmp1<5)
this[((this.firstWeek>tmp2)?7:0) + 7*(tmp1-1) + tmp2 - this.firstWeek].solarFestival += RegExp.$5 + ' ';
else {
tmp1 -= 5;
tmp3 = (this.firstWeek+this.length-1)%7; //当月最后一天星期?
this[this.length - tmp3 - 7*tmp1 + tmp2 - (tmp2>tmp3?7:0) - 1 ].solarFestival += RegExp.$5 + ' ';
}
}
//农历节日
for(i in lFtv)
if(lFtv[i].match(/^(d{2})(.{2})([s*])(.+)$/)) {
tmp1=Number(RegExp.$1)-firstLM;
if(tmp1==-11) tmp1=1;
if(tmp1 >=0 && tmp1<n) {
tmp2 = lDPOS[tmp1] + Number(RegExp.$2) -1;
if( tmp2 >= 0 && tmp2<this.length && this[tmp2].isLeap!=true) {
this[tmp2].lunarFestival += RegExp.$4 + ' ';
if(RegExp.$3=='*') this[tmp2].color = 'red';
}
}
}
//复活节只出现在3或4月
if(m==2 || m==3) {
var estDay = new easter(y);
if(m == estDay.m)
this[estDay.d-1].solarFestival = this[estDay.d-1].solarFestival+' 复活节 Easter Sunday';
}
if(m==2) this[20].solarFestival = this[20].solarFestival+unescape('%20%u6D35%u8CE2%u751F%u65E5');
//黑色星期五
if((this.firstWeek+12)%7==5)
this[12].solarFestival += '黑色星期五';
//今日
if(y==tY && m==tM) this[tD-1].isToday = true;
}
// ======================================= 返回该年的复活节(春分后第一次满月周后的第一主日)
function easter(y) {
var term2=sTerm(y,5); //取得春分日期
var dayTerm2 = new Date(Date.UTC(y,2,term2,0,0,0,0)); //取得春分的公历日期控件(春分一定出现在3月)
var lDayTerm2 = new Lunar(dayTerm2); //取得取得春分农历
if(lDayTerm2.day<15) //取得下个月圆的相差天数
var lMlen= 15-lDayTerm2.day;
else
var lMlen= (lDayTerm2.isLeap? leapDays(y): monthDays(y,lDayTerm2.month)) - lDayTerm2.day + 15;
//一天等于 1000*60*60*24 = 86400000 毫秒
var l15 = new Date(dayTerm2.getTime() + 86400000*lMlen ); //求出第一次月圆为公历几日
var dayEaster = new Date(l15.getTime() + 86400000*( 7-l15.getUTCDay() ) ); //求出下个周日
this.m = dayEaster.getUTCMonth();
this.d = dayEaster.getUTCDate();
}
// ====================== 中文日期
function cDay(d) {
var s;
switch (d) {
case 10:
s = '初十'; break;
case 20:
s = '二十'; break;
break;
case 30:
s = '三十'; break;
break;
default :
s = nStr2[Math.floor(d/10)];
s += nStr1[d%10];
}
return(s);
}
////////////////////////////////////////////////////////////////////////////// /
var cld;
function drawCld(SY,SM) {
var i,sD,s,size;
cld = new calendar(SY,SM);
if(SY>1874 && SY<1909) yDisplay = '光绪' + (((SY-1874)==1)?'元':SY-1874);
if(SY>1908 && SY<1912) yDisplay = '宣统' + (((SY-1908)==1)?'元':SY-1908);
if(SY>1911) yDisplay = '建国' + (((SY-1949)==1)?'元':SY-1949);
GZ.innerHTML = yDisplay +'年 农历 ' + cyclical(SY-1900+36) + '年 【'+Animals[(SY-4)%12]+'年】';
YMBG.innerHTML = " " + SY + "<BR> " + monthName[SM];
for(i=0;i<42;i++) {
sObj=eval('SD'+ i);
lObj=eval('LD'+ i);
sObj.className = '';
sD = i - cld.firstWeek;
if(sD>-1 && sD<cld.length) { //日期内
sObj.innerHTML = sD+1;
if(cld[sD].isToday) sObj.className = 'todyaColor'; //今日颜色
sObj.style.color = cld[sD].color; //法定假日颜色
if(cld[sD].lDay==1) //显示农历月
lObj.innerHTML = '<b>'+(cld[sD].isLeap?'闰':'') + cld[sD].lMonth + '月' + (monthDays(cld[sD].lYear,cld[sD].lMonth)==29?'小':'大')+'</b>';
else //显示农历日
lObj.innerHTML = cDay(cld[sD].lDay);
s=cld[sD].lunarFestival;
if(s.length>0) { //农历节日
if(s.length>6) s = s.substr(0, 4)+'';
s = s.fontcolor('red');
}
else { //公历节日
s=cld[sD].solarFestival;
if(s.length>0) {
size = (s.charCodeAt(0)>0 && s.charCodeAt(0)<128)?8:4;
if(s.length>size+2) s = s.substr(0, size)+'';
s=(s=='黑色星期五')?s.fontcolor('black'):s.fontcolor('blue');
}
else { //廿四节气
s=cld[sD].solarTerms;
if(s.length>0) s = s.fontcolor('limegreen');
}
}
if(cld[sD].solarTerms=='清明') s = '清明节'.fontcolor('red');
if(cld[sD].solarTerms=='芒种') s = '芒种节'.fontcolor('red');
if(cld[sD].solarTerms=='夏至') s = '夏至节'.fontcolor('red');
if(cld[sD].solarTerms=='冬至') s = '冬至节'.fontcolor('red');
if(s.length>0) lObj.innerHTML = s;
}
else { //非日期
sObj.innerHTML = '';
lObj.innerHTML = '';
}
}
}
function changeCld() {
var y,m;
y=CLD.SY.selectedIndex+1900;
m=CLD.SM.selectedIndex;
drawCld(y,m);
}
function pushBtm(K) {
switch (K){
case 'YU' :
if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
break;
case 'YD' :
if(CLD.SY.selectedIndex<150) CLD.SY.selectedIndex++;
break;
case 'MU' :
if(CLD.SM.selectedIndex>0) {
CLD.SM.selectedIndex--;
}
else {
CLD.SM.selectedIndex=11;
if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
}
break;
case 'MD' :
if(CLD.SM.selectedIndex<11) {
CLD.SM.selectedIndex++;
}
else {
CLD.SM.selectedIndex=0;
if(CLD.SY.selectedIndex<150) CLD.SY.selectedIndex++;
}
break;
default :
CLD.SY.selectedIndex=tY-1900;
CLD.SM.selectedIndex=tM;
}
changeCld();
}
var Today = new Date();
var tY = Today.getFullYear();
var tM = Today.getMonth();
var tD = Today.getDate();
//////////////////////////////////////////////////////////////////////////////
var width = " 130 " ;
var offsetx = 2 ;
var offsety = 8 ;
var x = 0 ;
var y = 0 ;
var snow = 0 ;
var sw = 0 ;
var cnt = 0 ;
var dStyle;
document.onmousemove = mEvn;
// 显示详细日期资料
function mOvr(v) {
var s,festival;
var sObj=eval('SD'+ v);
var d=sObj.innerHTML-1;
//sYear,sMonth,sDay,week,
//lYear,lMonth,lDay,isLeap,
//cYear,cMonth,cDay
if(sObj.innerHTML!='') {
sObj.style.cursor = 's-resize';
if(cld[d].solarTerms == '' && cld[d].solarFestival == '' && cld[d].lunarFestival == '')
festival = '';
else
festival = '<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#CCFFCC"><TR><TD>'+
'<FONT COLOR="#000000" STYLE="font-size:9pt;">'+cld[d].solarTerms + ' ' + cld[d].solarFestival + ' ' + cld[d].lunarFestival+'</FONT></TD>'+
'</TR></TABLE>';
s= '<TABLE WIDTH="130" BORDER=0 CELLPADDING="2" CELLSPACING=0 BGCOLOR="#000066" style="filter:Alpha(opacity=80)"><TR><TD>' +
'<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD ALIGN="right"><FONT COLOR="#ffffff" STYLE="font-size:9pt;">'+
cld[d].sYear+' 年 '+cld[d].sMonth+' 月 '+cld[d].sDay+' 日<br>星期'+cld[d].week+'<br>'+
'<font color="violet">农历'+(cld[d].isLeap?'闰 ':' ')+cld[d].lMonth+' 月 '+cld[d].lDay+' 日</font><br>'+
'<font color="yellow">'+cld[d].cYear+'年 '+cld[d].cMonth+'月 '+cld[d].cDay + '日</font>'+
'</FONT></TD></TR></TABLE>'+ festival +'</TD></TR></TABLE>';
document.all["detail"].innerHTML = s;
if (snow == 0) {
dStyle.left = x+offsetx-(width/2);
dStyle.top = y+offsety;
dStyle.visibility = "visible";
snow = 1;
}
}
}
// 清除详细日期资料
function mOut() {
if ( cnt >= 1 ) { sw = 0; }
if ( sw == 0 ) { snow = 0; dStyle.visibility = "hidden";}
else cnt++;
}
// 取得位置
function mEvn() {
x=event.x;
y=event.y;
if (document.body.scrollLeft)
{x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
if (snow){
dStyle.left = x+offsetx-(width/2);
dStyle.top = y+offsety;
}
}
////////////////////////////////////////////////////////////////////////// /
function changeTZ() {
CITY.innerHTML = CLD.TZ.value.substr(6)
setCookie("TZ",CLD.TZ.selectedIndex)
}
function tick() {
var today
today = new Date()
Clock.innerHTML = today.toLocaleString()
Clock2.innerHTML = TimeAdd(today.toGMTString(), CLD.TZ.value)
window.setTimeout("tick()", 1000);
}
function setCookie(name, value) {
var today = new Date()
var expires = new Date()
expires.setTime(today.getTime() + 1000*60*60*24*365)
document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString()
}
function getCookie(Name) {
var search = Name + "="
if(document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if(offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if(end == -1) end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
}
else return ""
}
}
//////////////////////////////////////////////////////// /
function initial() {
dStyle = detail.style;
CLD.SY.selectedIndex=tY-1900;
CLD.SM.selectedIndex=tM;
drawCld(tY,tM);
pushBtm('');
CLD.TZ.selectedIndex=getCookie("TZ");
changeTZ();
tick();
}
// -->
</ SCRIPT >
< SCRIPT language = VBScript >
<!--
' ===== 算世界时间
Function TimeAdd(UTC,T)
Dim PlusMinus, DST, y,tSave
If Left(T, 1 ) = " - " Then PlusMinus = - 1 Else PlusMinus = 1
UTC = Right(UTC,Len(UTC) - 5 )
UTC = Left(UTC,Len(UTC) - 4 )
y = Year(UTC)
TimeAdd = DateAdd( " n " , (Cint(Mid(T, 2 , 2 )) * 60 + Cint(Mid(T, 4 , 2 ))) * PlusMinus, UTC)
' 美国日光节约期间: 4月第一个星日00:00 至 10月最後一个星期日00:00
If Mid(T, 6 , 1 ) = " * " And DateSerial(y, 4 ,( 9 - Weekday(DateSerial(y, 4 , 1 )) mod 7 ) ) <= TimeAdd And DateSerial(y, 10 , 31 - Weekday(DateSerial(y, 10 , 31 ))) >= TimeAdd Then
TimeAdd = CStr(DateAdd( " h " , 1 , TimeAdd)) & " <FONT STYLE='font-size:18pt;font-family:Wingdings; color:red'>R</FONT> "
Else
End If
TimeAdd = CStr(TimeAdd)
End Function
' -->
</ SCRIPT >
< STYLE > .todyaColor {
BACKGROUND-COLOR: aqua
}
</ STYLE >
< META content = " MSHTML 6.00.2800.1505 " name = GENERATOR ></ HEAD >
< BODY leftMargin = 0 topMargin = 0 onload = initial() >
< SCRIPT language = JavaScript >
<!--
if (navigator.appName == " Netscape " || parseInt(navigator.appVersion) < 4 )
document.write( " <h1>你的浏览器无法执行此程序。</h1>此程序在 IE4 以后的版本才能执行!! " )
// -->
</ SCRIPT >
< SCRIPT language = JavaScript >
lck = 0 ;
function r(hval)
{
if ( lck == 0 )
{
document.bgColor=hval;
}
}
</ SCRIPT >
< DIV id = detail style = " POSITION: absolute " ></ DIV >
< CENTER >
< FORM name = CLD >
< TABLE >
< TBODY >
< TR >
< TD vAlign = top align = middle >< BR >< FONT style = " FONT-SIZE: 9pt "
size = 2 > 本机时间: </ FONT >< BR >< FONT id = Clock face = Arial color = # 000080 size = 4
align = " center " ></ FONT >
< P ><!-- 时区 * 表示自动调整为日光节约时间 -->< FONT style = " FONT-SIZE: 9pt " size = 2 >< SELECT
style = " FONT-SIZE: 9pt " onchange = changeTZ() name = TZ > < OPTION
value = " -1200 安尼威土克、瓜甲兰 " selected > 国际换日线 < OPTION
value = " -1100 中途岛、萨摩亚群岛 " > 萨摩亚 < OPTION value = " -1000 夏威夷 " > 夏威夷 < OPTION
value =- 0900 * 阿拉斯加 > 阿拉斯加 < OPTION value =- 0800 * 太平洋时间(美加)、提亚纳 > 太平洋 < OPTION
value =- 0700 * 亚历桑那 > 美国山区 < OPTION value =- 0700 * 山区时间(美加) > 美加山区 < OPTION
value =- 0600 * 萨克其万(加拿大) > 加拿大中部 < OPTION value =- 0600 * 墨西哥市、塔克西卡帕 > 墨西哥 < OPTION
value =- 0600 * 中部时间(美加) > 美加中部 < OPTION value =- 0500 * 波哥大、里玛 > 南美洲太平洋 < OPTION
value =- 0500 * 东部时间(美加) > 美加东部 < OPTION value =- 0500 * 印第安纳(东部) > 美东 < OPTION
value =- 0400 * 加拉卡斯、拉帕兹 > 南美洲西部 < OPTION value = " -0400*大西洋时间 加拿大) " > 大西洋 < OPTION
value = " -0330 新岛(加拿大东岸) " > 纽芬兰 < OPTION value = " -0300 波西尼亚 " > 东南美洲 < OPTION
value = " -0300 布鲁诺斯爱丽斯、乔治城 " > 南美洲东部 < OPTION value =- 0200 * 大西洋中部 > 大西洋中部 < OPTION
value =- 0100 * 亚速尔群岛、维德角群岛 > 亚速尔 < OPTION
value = " +0000 格林威治时间、都柏林、爱丁堡、伦敦 " > 英国夏令 < OPTION
value = " +0000 莫洛维亚(赖比瑞亚)、卡萨布兰卡 " > 格林威治标准 < OPTION
value = " +0100 巴黎、马德里 " > 罗马 < OPTION value = " +0100 布拉格, 华沙, 布达佩斯 " > 中欧 < OPTION
value = " +0100 柏林、斯德哥尔摩、罗马、伯恩、布鲁赛尔、维也纳 " > 西欧 < OPTION
value = " +0200 以色列 " > 以色列 < OPTION value =+ 0200 * 东欧 > 东欧 < OPTION
value =+ 0200 * 开罗 > 埃及 < OPTION value =+ 0200 * 雅典、赫尔辛基、伊斯坦堡 > GFT < OPTION
value =+ 0200 * 赫拉雷、皮托里 > 南非 < OPTION
value =+ 0300 * 巴格达、科威特、奈洛比(肯亚)、里雅德(沙乌地) > 沙乌地阿拉伯 < OPTION
value =+ 0300 * 莫斯科、圣彼得堡、贺占、窝瓦格瑞德 > 俄罗斯 < OPTION value =+ 0330 * 德黑兰 > 伊朗 < OPTION
value =+ 0400 * 阿布达比(东阿拉伯)、莫斯凯、塔布理斯(乔治亚共和) > 阿拉伯 < OPTION
value =+ 0430 * 喀布尔 > 阿富汗 < OPTION value = " +0500 伊斯兰马巴德、克洛奇、伊卡特林堡、塔须肯 " > 西亚 < OPTION
value = " +0530 孟买、加尔各答、马垂斯、新德里、可伦坡 " > 印度 < OPTION
value = " +0600 阿马提、达卡 " > 中亚 < OPTION value = " +0700 曼谷、亚加达、胡志明市 " > 曼谷 < OPTION
value = " +0800 北京、重庆、黑龙江 " > 中国 < OPTION
value = " +0900 东京、大阪、扎幌、汉城、亚库兹(东西伯利亚) " > 东京 < OPTION
value = " +0930 达尔文 " > 澳洲中部 < OPTION value = " +1000 布里斯本、墨尔本、席德尼 " > 席德尼 < OPTION
value = " +1000 霍巴特 " > 塔斯梅尼亚 < OPTION value = " +1000 关岛、莫斯比港、海 威 " > 西太平洋 < OPTION
value =+ 1100 * 马哥大、所罗门群岛、新卡伦多尼亚 > 太平洋中部 < OPTION
value = " +1200 威灵顿、奥克兰 " > 纽西兰 < OPTION
value = " +1200 斐济、肯加塔、马歇尔群岛 " > 斐济 </ OPTION >
</ SELECT > 时间 </ FONT >< BR >< FONT
id = Clock2 face = Arial color = # 000080 size = 4 align = " center " ></ FONT >< BR >< FONT
style = " FONT-SIZE: 120pt; COLOR: green; FONT-FAMILY: Webdings " >& ucirc; </ FONT >< BR >< FONT
id = CITY
style = " FONT-SIZE: 9pt; WIDTH: 150px; COLOR: blue; FONT-FAMILY: '新细明体' " ></ FONT ></ P >
</ TD >
< TD align = middle >
< DIV style = " Z-INDEX: -1; POSITION: absolute; TOP: 30px " >< FONT id = YMBG
style = " FONT-SIZE: 90pt; COLOR: #f0f0f0; FONT-FAMILY: 'Arial Black' " >& nbsp; 0000 < BR >& nbsp;JUN </ FONT >
</ DIV >
< TABLE border = 0 >
< TBODY >
< TR >
< TD bgColor = # 000080 colSpan = 7 >< FONT style = " FONT-SIZE: 9pt "
color = #ffffff size = 2 > 公历 < SELECT style = " FONT-SIZE: 9pt "
onchange = changeCld() name = SY >
< SCRIPT language = JavaScript ><!--
for (i = 1900 ;i < 2050 ;i ++ ) document.write( ' <option> ' + i)
// --></SCRIPT>
</ SELECT > 年 < SELECT style = " FONT-SIZE: 9pt " onchange = changeCld()
name = SM >
< SCRIPT language = JavaScript ><!--
for (i = 1 ;i < 13 ;i ++ ) document.write( ' <option> ' + i)
// --></SCRIPT>
</ SELECT > 月 </ FONT >< FONT id = GZ face = 标楷体 color = yellow
size = 3 ></ FONT >< BR ></ TD ></ TR >
< TR align = middle bgColor = #e0e0e0 >
< TD width = 54 >< FONT color = red > 日 </ FONT ></ TD >
< TD width = 54 > 一 </ TD >
< TD width = 54 > 二 </ TD >
< TD width = 54 > 三 </ TD >
< TD width = 54 > 四 </ TD >
< TD width = 54 > 五 </ TD >
< TD width = 54 >< FONT color = green > 六 </ FONT ></ TD ></ TR >
< SCRIPT language = JavaScript ><!--
var gNum
for (i = 0 ;i < 6 ;i ++ ) {
document.write('<tr align=center>')
for(j=0;j<7;j++) {
gNum = i*7+j
document.write('<td id="GD' + gNum +'" onMouseOver="mOvr(' + gNum +')" onMouseOut="mOut()"><font id="SD' + gNum +'" size=5 face="Arial Black"')
if(j == 0) document.write(' color=red')
if(j == 6)
if(i%2==1) document.write(' color=red')
else document.write(' color=green')
document.write(' TITLE=""> </font><br><font id="LD' + gNum + '" size=2 style="font-size:9pt"> </font></td>')
}
document.write('</tr>')
}
// --></SCRIPT>
</ TBODY ></ TABLE ></ TD >
< TD vAlign = top align = middle width = 40 >< BR >< BR >< BR >< BR >< BUTTON
style = " FONT-SIZE: 9pt " onclick = " pushBtm('YU') " > 年↑ </ BUTTON >< BR >< BUTTON
style = " FONT-SIZE: 9pt " onclick = " pushBtm('YD') " > 年↓ </ BUTTON >
< P >< BUTTON style = " FONT-SIZE: 9pt "
onclick = " pushBtm('MU') " > 月↑ </ BUTTON >< BR >< BUTTON style = " FONT-SIZE: 9pt "
onclick = " pushBtm('MD') " > 月↓ </ BUTTON >
< P >< BUTTON style = " FONT-SIZE: 9pt " onclick = " pushBtm('') " > 今日 </ BUTTON >
</ P ></ TD ></ TR ></ TBODY ></ TABLE ></ FORM >
< P ></ P >
< HR width = " 90% " color = #cccccc noShade SIZE = 1 >
< FONT style = " FONT-SIZE: 9pt " face = ARIAL size = 2 > 阳历中 < FONT
color = red > 红色 </ FONT >/< FONT color = green > 绿色 </ FONT >< FONT color = black > 表示节假日,农历中 < FONT
color = green > 绿色 </ FONT > 表示为24节气日, < FONT color = red > 红色 </ FONT > 表示为传统节日, < FONT
color = blue > 蓝色 </ FONT > 则表示为公众节假日 < BR ></ CENTER ></ BODY ></ HTML >