效果见:我的个人网站 的右下角
第一步,在主题目录配置下打开 themes\landscape\layout\_widget
新建 calender.ejs 文件,
代码太长,所有在本文最后附上。
注:为了避免代码在Hexo渲染时中文字符乱码,此 .ejs 内容均为已经转码后的代码,特此说明!
第二步,在主题目录配置下 themes\landscape\ 打开 _config.yml 文件,
在 widgets: 中添加 - calendar 即可。
第三步,在Hexo根目录配置下鼠标右键 git bash 运行 "hexo g -d" 即可在个人网站查看效果。
附: calender.ejs 文件代码(已转码)
<div class="widget-wrap">
<h3 class="widget-title">日历小工具</h3>
<ul class="widget calendar">
<!-- 以下是含农历日历代码-->
<body>
<SCRIPT type="text/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,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,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)
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*元旦", "0214 情人节", "0303 我生日", "0308 妇女节", "0312 植树节", "0315 消费者权益日", "0317 St. Patrick's", "0401 愚人节", "0501 劳动节", "0504 青年节", "0512 护士节", "0512 茵生日", "0601 儿童节", "0614 Flag Day", "0701 建党节 香港回归纪念", "0703 炎黄在线诞辰", "0718 托普诞辰", "0801 建军节", "0808 父亲节", "0909 毛泽东逝世纪念","0910 教师节", "0928 孔子诞辰", "1001*国庆节", "1006 老人节","1024 联合国日","1111 Veteran's / Remembrance Day","1112 孙中山诞辰纪念", "1220 澳门回归纪念", "1225 Christmas Day","1226 毛泽东诞辰纪念")
var lFtv = new Array( "0101*春节", "0115 元宵节", "0505 端午节", "0707 七夕情人节", "0715 中元节","0815 中秋节", "0909 重阳节", "1208 腊八节", "1224 小年", "0100*除夕")
var wFtv = new Array( "0131 Martin Luther King Day", "0231 President's Day", "0520 母亲节", "0530 Armed Forces Day", "0531 Victoria Day", "0716 合作节", "0730 被奴役国家周", "0811 Civic Holiday", "0911 Labor Holiday", "1021 Columbus Day", "1144 Thanksgiving")
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))
}
function leapDays(y) {
if(leapMonth(y)) return((lunarInfo[y-1900] & 0x10000)? 30: 29)
else return(0)
}
function leapMonth(y) {
return(lunarInfo[y-1900] & 0xf)
}
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 )
}
function Lunar(objDate) {
var I, leap=0, temp=0
var baseDate = new Date(1900,0,31)
var offset = (objDate - baseDate)/86400000
this.dayCyl = offset + 40
this.monCyl = 14
for(I=1900; I<2050 && offset>0; I++) {
temp = lYearDays(I)
offset -= temp
this.monCyl += 12
}
if(offset<0) {
offset += temp;
I--;
this.monCyl -= 12
}
this.year = I
this.yearCyl = I-1864
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(this.isLeap == false) this.monCyl ++
}
if(offset==0 && leap>0 && I==leap+1)
if(this.isLeap)
{ this.isLeap = false; }
else
{ this.isLeap = true; --I; --this.monCyl;}
if(offset<0){ offset += temp; --I; --this.monCyl; }
this.month = I
this.day = offset + 1
}
function solarDays(y,m) {
if(m==1)
return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28)
else
return(solarMonth[m])
}
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;
this.sMonth = sMonth;
this.sDay = sDay;
this.week = week;
this.lYear = lYear;
this.lMonth = lMonth;
this.lDay = lDay;
this.isLeap = isLeap;
this.cYear = cYear;
this.cMonth = cMonth;
this.cDay = cDay;
this.color = '';
this.lunarFestival = '';
this.solarFestival = '';
this.solarTerms = '';
}
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())
}
function calendar(y,m) {
var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2
var lDPOS = new Array(3)
var n = 0
var firstLM = 0
sDObj = new Date(y,m,1)
this.length = solarDays(y,m)
this.firstWeek = sDObj.getDay()
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
}
this[I] = new calElement(y, m+1, I+1, nStr1[(I+this.firstWeek)%7],
lY, lM, lD++, lL,
cyclical(lDObj.yearCyl) ,cyclical(lDObj.monCyl), cyclical(lDObj.dayCyl++) )
if((I+this.firstWeek)%7==0) this[I].color = 'red'
if((I+this.firstWeek)%14==13) this[I].color = 'red'
}
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)
this[((this.firstWeek>tmp2)?7:0) + 7*(tmp1-1) + tmp2 - this.firstWeek].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].lunarFestival += RegExp.$4 + ' '
if(RegExp.$3=='*') this[tmp2].color = 'red'
}
}
}
if((this.firstWeek+12)%7==5)
this[12].solarFestival += '黑色星期五 '
if(y==tY && m==tM) this[tD-1].isToday = true;
}
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 && SY<1950) yDisplay = '民国' + (((SY-1911)==1)?'元':SY-1911)
if(SY>1949) yDisplay = ''
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.fontcolor('blue');
}
else {
s=cld[sD].solarTerms;
if(s.length>0) s = s.fontcolor('limegreen');
}
}
if(s.length>0) lObj.innerHTML = s;
}
else {
sObj.innerHTML = '';
lObj.innerHTML = '';
}
}
}
function changeLong()
{
var y,m,ly,lm,id,im,iy,yangy,yangm,deltm,miny,tt;
CLD.SY.selectedIndex=CLD.D1.selectedIndex;
CLD.SM.selectedIndex=CLD.D2.selectedIndex;
yangm=0;yangy=0;
tt=true;
while (tt)
{
yangm=0;yangy=0;
changeCld();
for(I=0;I<42;I++)
{
sD = I - cld.firstWeek;
if(sD>-1 && sD<cld.length)
{
if ((cld[sD].lMonth==CLD.D2.selectedIndex+1)&&(cld[sD].lYear==CLD.D1.selectedIndex+1900))
{
yangy=CLD.SY.selectedIndex+1900; yangm=CLD.SM.selectedIndex ;
tt=false;
break;
}
}
}
if (!tt) break;
pushBtm('MD');
changeCld();
for(I=0;I<42;I++)
{
sD = I - cld.firstWeek;
if(sD>-1 && sD<cld.length)
{
if ((cld[sD].lMonth==CLD.D2.selectedIndex+1)&&(cld[sD].lYear==CLD.D1.selectedIndex+1900))
{
yangy=CLD.SY.selectedIndex+1900; yangm=CLD.SM.selectedIndex ;
tt=false;
break;
}
}
}
break;
}
CLD.SM.selectedIndex=yangm;
pushBtm('MD');
pushBtm('MU');
}
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<149) 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<149) 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 = 16;
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;
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" >'+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"><TR><TD>' +
'<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD ALIGN="right"><FONT COLOR="#ffffff">'+
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 tick() {
var today
today = new Date()
Clock.innerHTML = today.toLocaleString().replace(/(年|月)/g, "/").replace(/日/, "");
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);
tick();
}
</SCRIPT>
<STYLE>.todyaColor {
BACKGROUND-COLOR: aqua
}
</STYLE>
<BODY onload=initial()>
<DIV id=detail style="POSITION: absolute"></DIV>
<FORM name=CLD>
<div align="center">
<TABLE width=100% align="center" height="40" bordercolordark="#CC9900" border=1>
<center>
<TBODY>
<TD align=middle vAlign=top width=100% height=50%>
<!-- 本机计算机时间UTF8转码后为下一行的:本地计算机时间-->
<center><font color=RED><span>本地计算机时间:</span> </FONT></FONT><BR><FONT color=#000080 id=Clock size=3 align="center"></FONT>
<!--时区 *表示自动调整为日光节约时间-->
</TABLE>
</div>
<center><tr>---------------------------------------------------------</tr></center>
<div align="center">
<table width=100% align="center" height="40" border=1>
<CENTER>
<center>
<TBODY>
</center></center>
<td height="40" width=80% align="center"><font size="2">
<!-- 公历,年,月UTF8转码后为 公历 年 月-->
<font color="#0000FF">公历 </font>年</font><FONT color=#ffffff ><SELECT name=SY onchange=changeCld()>
<SCRIPT type="text/javascript" >
for(I=1900;I<2050;I++) document.write('<option>'+I)
</SCRIPT>
</SELECT> </FONT>月<FONT color=#ffffff ><SELECT name=SM onchange=changeCld() >
<SCRIPT type="text/javascript" >
for(I=1;I<13;I++) document.write('<option>'+I)
</SCRIPT>
</SELECT></FONT></font>
<!-- 阴历,年,月UTF8转码后为 阴历 年 月-->
<br><font size="2"><FONT ><font color="#0000FF">阴历 </font>年</font><FONT color=#ffffff ><SELECT name=D1 onchange=changeLong() >
<SCRIPT type="text/javascript" >
for(I=1900;I<2050;I++) document.write('<option>'+I)
</SCRIPT>
</SELECT> </FONT>月<FONT color=#ffffff ><SELECT name=D2 onchange=changeLong() >
<SCRIPT type="text/javascript" >
for(I=1;I<13;I++) document.write('<option>'+I)
</SCRIPT>
</SELECT></FONT></font></br></div>
<!-- 月,当月 UTF8转码后为 月 当月-->
<!-- ↑ ↓ UTF8转码后为 ↑ ↓-->
<td height="40" width=20% align="center">
<BUTTON onclick="pushBtm('MU')" >月↑ </BUTTON><br>
<BUTTON onclick="pushBtm('')" >当月</BUTTON><br>
<BUTTON onclick="pushBtm('MD')" >月↓ </BUTTON>
</td>
<CENTER>
<!--'阴历存在跨月情况,如果查找到的阴历月跨两个公历月,用' UTF8转码后为 阴历存在跨月情况,如果查找到的阴历月跨两个公历月,用-->
<!-- '翻动可以找到你想要的确切日期。'UTF8转码后为 翻动可以找到你想要的确切日期。-->
<table align=middle border=1 width=100% bordercolordark="#FFFFCC">
<td width="100%" align=middle ><font color=#0> 阴历存在跨月情况,如果查找到的阴历月跨两个公历月,用<font color=blue>[月↑][月↓]</font>翻动可以找到你想要的确切日期。</font></td>
<center><tr>---------------------------------------------------------</tr></center>
</table>
</CENTER>
</table>
<center><tr>---------------------------------------------------------</tr></center>
<FONT id=YMBG COLOR=#f0f0f0> </FONT>
<div align="center">
<center>
<TABLE align="center" border=1 width=100% cellspacing="1">
<center>
<TBODY>
<center>
<TR>
<center><TD bgColor=#000080 colSpan=7 align="center" width=100% height="25"><FONT color=#000080 size=2> </FONT>
<center> <FONT color=#ffffff id=GZ size=4></FONT><BR></TD></TR>
<center> <TR align=middle bgColor=#e0e0e0>
<center>
<!-- 日一二三四五六 UTF8转码后为 日 一 二 三 四 五 六 -->
<center> <TD width=15% align="center" bgcolor="#99CCFF"><font size="2">日</font></TD>
<center> <TD width=14% align="center" bgcolor="#99CCFF"><font size="2">一</font></TD>
<center> <TD width=14% align="center" bgcolor="#99CCFF"><font size="2">二</font></TD>
<center> <TD width=14% align="center" bgcolor="#99CCFF"><font size="2">三</font></TD>
<center> <TD width=14% align="center" bgcolor="#99CCFF"><font size="2">四</font></TD>
<center> <TD width=14% align="center" bgcolor="#99CCFF"><font size="2">五</font></TD>
<center> <TD width=15% align="center" bgcolor="#99CCFF"><font size="2">六 </font></TD></TR>
<center> <SCRIPT type="text/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=2 ')
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 > </font></td>')
}
document.write('</tr>')
}
</SCRIPT>
</TBODY></TABLE>
</center>
</div>
</TD>
</TR></TBODY></TABLE>
</div>
</FORM>
</body>
</td>
<!-- 日历代码结束-->
</ul>
</div>