2010年12月 23 云杜红叶 星期四 庚寅年【虎】 十一月十八 欢迎您 |
|
万年历代码:
</SPAN> <DIV></DIV> <TABLE height=160 width=180 bgColor=#ffeef7 background=bj.gif border=0> <TBODY> <TR> <TH class=style65 scope=col width=180> <P align=center><FONT color=#ff0000> <SCRIPT language=JavaScript> <!-- var solaryear; //输出或输入之西历年份 var solarmonth; // 西历月 var solardate; //西历日 var lunaryear; // 输出或输入之农历年份 var lunarmonth; //农历月 var lunardate; // 农历日 var weekday; // 该日为星期几 ( 0==星期日, 1==星期一, ... ) var kan; // 该日天干 ( 0==甲, 1==乙, ..., 9==癸 ) var chih; // 该日地支 ( 0==子, 1==丑, ..., 11==亥 ) var basedays; /* 到西历 1 月 1 日到农历正月初一的累积日数 */ var intercalation; /* 闰月月份. 0==此年没有闰月 */ var baseweekday; /* 此年西历 1 月 1 日为星期几再减 1 */ var basekanchih; /* 此年西历 1 月 1 日之干支序号减 1 */ /* 数组数字分别为: 西历1月1日到农历正月初一的累积日数 ,闰月月份. 0==此年没有闰月,此年西历1月1日为星期几再减1 ,此年西历1月1日之干支序号减1,此农历年每月之大小,0==小月(29日),1==大月(30日)共13项 */ lun2000 = new Array(35, 0,5, 53, 1,1,0,0,1,0,0,1,0,1,1,0,1 ); /* 2000 */ lun2001 = new Array(23, 4,0, 59, 1,1,0,1,0,1,0,0,1,0,1,0,1 ); lun2002 = new Array(42, 0,1, 4, 1,1,0,1,0,1,0,0,1,0,1,0,1 ); lun2003 = new Array(31, 0,2, 9, 1,1,0,1,1,0,1,0,0,1,0,1,0 ); lun2004 = new Array(21, 2,3, 14, 0,1,0,1,1,0,1,0,1,0,1,0,1 ); /* 2004 */ lun2005 = new Array(39, 0,5, 20, 0,1,0,1,0,1,1,0,1,0,1,0,1 ); lun2006 = new Array(28, 7,6, 25, 1,0,1,0,1,0,1,0,1,1,0,1,1 ); lun2007 = new Array(48, 0,0, 30, 0,0,1,0,0,1,0,1,1,1,0,1,1 ); lun2008 = new Array(37, 0,1, 35, 1,0,0,1,0,0,1,0,1,1,0,1,1 ); /* 2008 */ lun2009 = new Array(25, 5,3, 41, 1,1,0,0,1,0,0,1,0,1,0,1,1 ); lun2010 = new Array(44, 0,4, 46, 1,0,1,0,1,0,0,1,0,1,0,1,1 ); lun2011 = new Array(33, 0,5, 51, 1,0,1,1,0,1,0,0,1,0,1,0,1 ); lun2012 = new Array(22, 4,6, 56, 1,0,1,1,0,1,0,1,0,1,0,1,0 ); /* 2012 */ lun2013 = new Array(40, 0,1, 2, 1,0,1,1,0,1,0,1,0,1,0,1,0 ); lun2014 = new Array(30, 9,2, 7, 0,1,0,1,0,1,0,1,1,0,1,0,1 ); lun2015 = new Array(49, 0,3, 12, 0,1,0,0,1,0,1,1,1,0,1,0,1 ); lun2016 = new Array(38, 0,4, 17, 1,0,1,0,0,1,0,1,1,0,1,1,0 ); /* 2016 */ lun2017 = new Array(27, 6,6, 23, 0,1,0,1,0,0,1,0,1,0,1,1,1 ); lun2018 = new Array(46, 0,0, 28, 0,1,0,1,0,0,1,0,1,0,1,1,0 ); lun2019 = new Array(35, 0,1, 33, 0,1,1,0,1,0,0,1,0,0,1,1,0 ); lun2020 = new Array(24, 4,2, 38, 0,1,1,1,0,1,0,0,1,0,1,0,1 ); /* 2020 */ lun2021 = new Array(42, 0,4, 44, 0,1,1,0,1,0,1,0,1,0,1,0,1 ); lun2022 = new Array(31, 0,5, 49, 1,0,1,0,1,1,0,1,0,1,0,1,0 ); lun2023 = new Array(21, 2,6, 54, 0,1,0,1,0,1,0,1,1,0,1,0,1 ); lun2024 = new Array(40, 0,0, 59, 0,1,0,0,1,0,1,1,0,1,1,0,1 ); /* 2024 */ lun2025 = new Array(28, 6,2, 5, 1,0,1,0,0,1,0,1,0,1,1,1,0 ); lun2026 = new Array(47, 0,3, 10, 1,0,1,0,0,1,0,0,1,1,1,0,1 ); lun2027 = new Array(36, 0,4, 15, 1,1,0,1,0,0,1,0,0,1,1,0,1 ); lun2028 = new Array(25, 5,5, 20, 1,1,1,0,1,0,0,1,0,0,1,1,0 ); /* 2028 */ lun2029 = new Array(43, 0,0, 26, 1,1,0,1,0,1,0,1,0,0,1,0,1 ); lun2030 = new Array(32, 0,1, 31, 1,1,0,1,1,0,1,0,1,0,1,0,0 ); lun2031 = new Array(22, 3,2, 36, 0,1,1,0,1,0,1,1,0,1,0,1,0 ); var firstyear=2000; var lastyear =2031; var solarcal = new Array(31,28,31,30,31,30,31,31,30,31,30,31); /* 西历年每月之累积日数, 平年与闰年 */ var solardays0=new Array(0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365, 396 ); var solardays1=new Array(0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366, 397 );
/* 求此西历年是否为闰年, 返回 0 为平年, 1 为闰年 */ function getleap( year ) { if (year%400 ==0) return 1; else if( year % 100 == 0 ) return 0; else if( year % 4 == 0 ) return 1; else return 0; } function calconv_lun( solaryear,solarmonth,solardate )/*西历转农历*/ { var leap, d, sm, y, im, l1, l2, acc, i, lm, kc; if(solaryear<=firstyear ||solaryear>lastyear) return 1; sm =solarmonth-1; if(sm<0 || sm>11) return 2; leap = getleap(solaryear ); if(sm ==1 ) d =leap+28; else d =solarcal[sm]; if(solardate<1 || solardate>d) return3; y = solaryear - firstyear; acc = eval("solardays"+leap+"[sm]+solardate"); weekday = (acc + eval("lun"+solaryear+"[2]")) % 7; if (acc <= eval("lun"+solaryear+"[0]")) { y--; lunaryear = solaryear - 1; leap = getleap(lunaryear); sm += 12; acc = eval("solardays"+leap+"[sm]+solardate"); } else lunaryear = solaryear; kc = acc + eval("lun"+lunaryear+"[3]"); kan = kc%10; chih = kc%12; l1 = eval("lun"+lunaryear+"[0]"); for(i=0; i<13; i++) { l2 = l1 + eval("lun"+lunaryear+"[i+4]") + 29; if(acc <= l2 ) break; l1 = l2; } lunarmonth = i + 1; lunardate = acc - l1; im = eval("lun"+lunaryear+"[1]"); if(im!= 0 && lunarmonth > im ) { lunarmonth--; if(lunarmonth == im ) lunarmonth = -im; } if(lunarmonth > 12 ) lunarmonth -=12; return (lunaryear+" "+lunarmonth+" "+lunardate+" "+weekday+" "+kan+" "+chih); } function calconv_sol( lunaryear,lunarmonth,lunardate )/*农历转西历*/ { var leap, d, sm, y, im, l1, l2, acc, i, lm, kc; if(lunaryear<firstyear || lunaryear >=lastyear ) return 1; y = lunaryear - firstyear; im = eval("lun"+lunaryear+"[1]"); lm = lunarmonth; if(lm < 0) { if(lm!= -im) return 2; } else if(lm<1 || lm>12) return 2; if(im!=0) { if(lm>im) lm++; else if(lm == -im) lm = im + 1; } lm--; if(lunardate > eval("lun"+lunaryear+"[lm+4]+29") ) return 3; acc = eval("lun"+lunaryear+"[0]"); for(i=0;i<lm;i++) acc+= eval("lun"+lunaryear+"[i+4]+29"); acc+= lunardate; leap = getleap(lunaryear); for(i=13;i>=0;i--) if(acc > eval("solardays"+leap+"[i]")) break; solardate = acc - eval("solardays"+leap+"[i]"); if(i<=11) { solaryear = lunaryear; solarmonth = i+1; } else { solaryear = lunaryear + 1; solarmonth = i - 11; } leap = getleap(solaryear); y = solaryear - firstyear; acc = eval("solardays"+leap+"[solarmonth-1]") + solardate; weekday = (acc + eval("lun"+solaryear+"[2]"))%7; kc = acc + eval("lun"+solaryear+"[3]"); kan = kc%10; chih = kc%12; return (solaryear+" "+solarmonth+" "+solardate+" "+weekday+" "+kan+" "+chih); } var D1=new Date(); var yy=D1.getYear(); var mm=D1.getMonth()+1; var dd=D1.getDate(); var ww=D1.getDay(); if(yy<1900) //某些js得到的是和1990的差距年 yy+=1900; var Dn="初一;初二;初三;初四;初五;初六;初七;初八;初九;初十;十一;十二;十三;十四;十五;十六;十七;十八;十九;二十;廿一;廿二;廿三;廿四;廿五;廿六;廿七;廿八;廿九;三十"; Dn=Dn.split(";"); var Mn="正月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月" Mn=Mn.split(";");
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) //===== 某年的第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()) } var ss=calconv_lun(yy,mm,dd); //var sss=calconv_sol(2005,12,2); if (weekday==0) ww="<font color=RED>星期日"; if (weekday==1) ww="星期一"; if (weekday==2) ww="星期二"; if (weekday==3) ww="星期三"; if (weekday==4) ww="星期四"; if (weekday==5) ww="星期五"; if (weekday==6) ww="<font color=RED>星期六";
var bsYear; var bsDate; var bsWeek; var bsYear2; var bsDate2; var bsjr="<font color=#9B4E00 style=''FONT-SIZE: 10pt''>云杜红叶</font>"; var bsjr1="<font color=#9B4E00 style=''FONT-SIZE: 10pt''>欢迎您</font>"; bsWeek=ww; bsDate=yy+"年"+mm+"月"; bsDate2=dd; if((lunaryear<2000) ||(lunaryear>2031)) bsYear="农历"; else bsYear=cyclical(lunaryear-1900+36) + "年【"+Animals[(lunaryear-4)%12]+"】";
if(lunarmonth<0) bsYear2="闰" + Mn[-lunarmonth-1]+Dn[lunardate-1]; else bsYear2=Mn[lunarmonth-1]+Dn[lunardate-1]; if(mm==1&&dd==1) bsjr="元旦"; if(mm==2&&dd==14) bsjr="情人节"; if(mm==3&&dd==8) bsjr="妇女节"; if(mm==3&&dd==12) bsjr="植树节"; if(mm==3&&dd==15) bsjr="消费者权益日"; if(mm==4&&dd==1) bsjr="愚人节"; if(mm==5&&dd==1) bsjr="劳动节"; if(mm==5&&dd==4) bsjr="青年节"; if(mm==5&&dd==12) bsjr="护士节"; if(mm==5&&dd==15) bsjr="国际家庭日"; if(mm==5&&dd==31) bsjr="世界无烟日"; if(mm==5&&weekday==0&&dd>7&&dd<15) bsjr="母亲节"; if(mm==6&&dd==1) bsjr="儿童节"; if(mm==6&&weekday==0&&dd>14&&dd<22) bsjr="父亲节"; if(mm==7&&dd==1) bsjr="建党节"; if(mm==8&&dd==1) bsjr="建军节"; if(mm==9&&dd==10) bsjr="教师节"; if(mm==9&&dd==27) bsjr="世界旅游日"; if(mm==10&&dd==1) bsjr="国庆节"; if(mm==10&&dd==5) bsjr="世界教师日"; if(mm==10&&dd==31) bsjr="万圣节"; if(mm==11&&weekday==4&&dd>21&&dd<29) bsjr="感恩节"; if(mm==12&&dd==25) bsjr="圣诞节"; if(lunarmonth==1&&lunardate==1) bsjr1="春节"; if(lunarmonth==1&&lunardate==15) bsjr1="元宵节"; if(lunarmonth==2&&lunardate==2) bsjr1="中和龙抬头"; if(lunarmonth==5&&lunardate==5) bsjr1="端午节"; if(lunarmonth==7&&lunardate==7) bsjr1="七夕节"; if(lunarmonth==7&&lunardate==15) bsjr1="中元(鬼)节"; if(lunarmonth==8&&lunardate==15) bsjr1="中秋节"; if(lunarmonth==9&&lunardate==9) bsjr1="重阳节"; if(lunarmonth==12&&lunardate==8) bsjr1="腊八节"; if(lunarmonth==12&&lunardate==23) bsjr1="小年"; if(lunarmonth==12&&lunardate==24) bsjr1="扫房日"; //节气 var tmp,tmp1; tmp=sTerm(yy,(mm-1)*2); tmp1=sTerm(yy,(mm-1)*2+1); if(tmp==dd) bsjr1=bsjr1+" "+solarTerm[(mm-1)*2]; if(tmp1==dd) bsjr1=bsjr1+" "+solarTerm[(mm-1)*2+1]; function cyclical(num) { return(Gan[num%10]+Zhi[num%12]) } function CAL(){ document.write("<center><table border=1 cellspacing=3 width=105 bordercolor=#000000 bgcolor=#FFFFFF height=110 cellpadding=2"); document.write("<tr><td align=center><b><font style=''FONT-SIZE: 12pt'' color=#008040>"+bsDate+"</font><br><font face=Arial style=''FONT-SIZE: 20pt'' color=#FF8040>"+bsDate2+"</font><br><font color=#008040><span style=''FONT-SIZE: 10pt''>"); document.write("<font color=red style=''FONT-SIZE: 10pt''>"+bsjr+"</font><br>"+bsWeek+"</span><br>"+" </b>"); document.write("<font color=#9B4E00 style=''FONT-SIZE: 10pt''>"+bsYear+"<br>"+bsYear2+"<br>"+"<font color=red style=''FONT-SIZE: 10pt''>"+bsjr1+"</font></font>"+"</td></tr></table></center>"); /*document.write("<center><table border=''1'' cellspacing=''3'' width=''105'' bordercolor=''#000000'' bgcolor=''#FFFFFF'' height=''110'' cellpadding=''2''"); document.write("<tr><td align=''center''><b><font color=#008040>"+lunaryear+"年"+lunarmonth+"月"+"</font><br><font face=''Arial'' size=''6'' color=#FF8040>"+lunardate+"</font><br><font color=#008040><span style=''FONT-SIZE: 10.5pt''>"); document.write(weekday+"</span><br>"+"<br></b><font color=#9B4E00>"); document.write(kan+"<br>"+chih+"</td></tr></table></center>"); */ } //--> </SCRIPT> </FONT><SPAN class=STYLE78></SPAN><FONT color=#ff0000> <SCRIPT language=javascript>CAL();</SCRIPT> </FONT></P></TR></TR></TBODY></TABLE>
|