1var  bsYear;
  2var  bsDate;
  3var  bsWeek;
  4var  arrLen=22;    //数组长度
  5var  sValue=0;    //当年的秒数
  6var  dayiy=0;    //当年第几天
  7var  miy=0;    //月份的下标
  8var  iyear=0;    //年份标记
  9var  dayim=0;    //当月第几天
 10var  spd=86400;    //每天的秒数
 11
 12var  year1999="30;29;29;30;29;29;30;29;30;30;30;29";    //354
 13var  year2000="30;30;29;29;30;29;29;30;29;30;30;29";    //354
 14var  year2001="30;30;29;30;29;30;29;29;30;29;30;29;30";    //384
 15var  year2002="30;30;29;30;29;30;29;29;30;29;30;29";    //354
 16var  year2003="30;30;29;30;30;29;30;29;29;30;29;30";    //355
 17var  year2004="29;30;29;30;30;29;30;29;30;29;30;29;30";    //384
 18var  year2005="29;30;29;30;29;30;30;29;30;29;30;29";    //354
 19var  year2006="30;29;30;29;30;30;29;29;30;30;29;29;30"; //384
 20var  year2007="29;29;30;29;29;30;29;30;30;30;29;30";    //354
 21var  year2008="30;29;29;30;29;29;30;29;30;30;29;30";    //354
 22var  year2009="30;30;29;29;30;29;29;30;29;30;29;30;30"; //384
 23var  year2010="30;29;30;29;30;29;29;30;29;30;29;30";    //354
 24var  year2011="30;29;30;30;29;30;29;29;30;29;30;29";    //354
 25var  year2012="30;29;30;30;29;30;29;30;29;30;29;30;29"; //384
 26var  year2013="30;29;30;29;30;30;29;30;29;30;29;30";    //355
 27var  year2014="29;30;29;30;29;30;29;30;30;29;30;29;30"; //384
 28var  year2015="29;30;29;29;30;29;30;30;30;29;30;29";    //354
 29var  year2016="30;29;30;29;29;30;29;30;30;29;30;30";    //355
 30var  year2017="29;30;29;30;29;29;30;29;30;29;30;30;30"; //384
 31var  year2018="29;30;29;30;29;29;30;29;30;29;30;30";    //354
 32var  year2019="30;29;30;29;30;29;29;30;29;29;30;30";    //354
 33var  year2020="29;30;30;30;29;30;29;29;30;29;30;29;30"; //384
 34
 35var  month1999="正月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月"
 36var  month2001="正月;二月;三月;四月;闰四月;五月;六月;七月;八月;九月;十月;十一月;十二月"
 37var  month2004="正月;二月;闰二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月"
 38var  month2006="正月;二月;三月;四月;五月;六月;七月;闰七月;八月;九月;十月;十一月;十二月"
 39var  month2009="正月;二月;三月;四月;五月;闰五月;六月;七月;八月;九月;十月;十一月;十二月"
 40var  month2012="正月;二月;三月;四月;闰四月;五月;六月;七月;八月;九月;十月;十一月;十二月"
 41var  month2014="正月;二月;三月;四月;五月;六月;七月;八月;九月;闰九月;十月;十一月;十二月"
 42var  month2017="正月;二月;三月;四月;五月;六月;闰六月;七月;八月;九月;十月;十一月;十二月"
 43var  month2020="正月;二月;三月;四月;闰四月;五月;六月;七月;八月;九月;十月;十一月;十二月"
 44var  Dn="初一;初二;初三;初四;初五;初六;初七;初八;初九;初十;十一;十二;十三;十四;十五;十六;十七;十八;十九;二十;廿一;廿二;廿三;廿四;廿五;廿六;廿七;廿八;廿九;三十";
 45
 46var  Ys=new  Array(arrLen);
 47Ys[0]=919094400;Ys[1]=949680000;Ys[2]=980265600;
 48Ys[3]=1013443200;Ys[4]=1044028800;Ys[5]=1074700800;
 49Ys[6]=1107878400;Ys[7]=1138464000;Ys[8]=1171728000;
 50Ys[9]=1202313600;Ys[10]=1232899200;Ys[11]=1266076800;
 51Ys[12]=1296662400;Ys[13]=1327248000;Ys[14]=1360425600;
 52Ys[15]=1391097600;Ys[16]=1424275200;Ys[17]=1454860800;
 53Ys[18]=1485532800;Ys[19]=1518710400;Ys[20]=1549296000;
 54Ys[21]=1579881600;
 55
 56var  Yn=new  Array(arrLen);      //农历年的名称
 57Yn[0]="己卯年";Yn[1]="庚辰年";Yn[2]="辛巳年";
 58Yn[3]="壬午年";Yn[4]="癸未年";Yn[5]="甲申年";
 59Yn[6]="乙酉年";Yn[7]="丙戌年";Yn[8]="丁亥年";
 60Yn[9]="戊子年";Yn[10]="己丑年";Yn[11]="庚寅年";
 61Yn[12]="辛卯年";Yn[13]="壬辰年";Yn[14]="癸巳年";
 62Yn[15]="甲午年";Yn[16]="乙未年";Yn[17]="丙申年";
 63Yn[18]="丁酉年";Yn[19]="戊戌年";Yn[20]="己亥年";
 64Yn[21]="庚子年";
 65var  D=new  Date();
 66var  yy=D.getFullYear();
 67var  mm=D.getMonth()+1;
 68var  dd=D.getDate();
 69var  ww=D.getDay();
 70if  (ww==0)  ww="<font  color=RED>星期日</font>";
 71if  (ww==1)  ww="星期一";
 72if  (ww==2)  ww="星期二";
 73if  (ww==3)  ww="星期三";
 74if  (ww==4)  ww="星期四";
 75if  (ww==5)  ww="星期五";
 76if  (ww==6)  ww="<font  color=green>星期六</font>";
 77ww=ww;
 78var  ss=parseInt(D.getTime()  /  1000);
 79if  (yy<100)  yy="19"+yy;
 80
 81for  (i=0;i<arrLen;i++)
 82if  (ss>=Ys[i]){
 83iyear=i;
 84sValue=ss-Ys[i];        //当年的秒数
 85}
 86dayiy=parseInt(sValue/spd)+1;        //当年的天数
 87
 88var  dpm=year1999;
 89if  (iyear==1)  dpm=year2000;
 90if  (iyear==2)  dpm=year2001;
 91if  (iyear==3)  dpm=year2002;
 92if  (iyear==4)  dpm=year2003;
 93if  (iyear==5)  dpm=year2004;
 94if  (iyear==6)  dpm=year2005;
 95if  (iyear==7)  dpm=year2006;
 96if  (iyear==8)  dpm=year2007;
 97if  (iyear==9)  dpm=year2008;
 98if  (iyear==10)  dpm=year2009;
 99if  (iyear==11)  dpm=year2010;
100if  (iyear==12)  dpm=year2011;
101if  (iyear==13)  dpm=year2012;
102if  (iyear==14)  dpm=year2013;
103if  (iyear==15)  dpm=year2014;
104if  (iyear==16)  dpm=year2015;
105if  (iyear==17)  dpm=year2016;
106if  (iyear==18)  dpm=year2017;
107if  (iyear==19)  dpm=year2018;
108if  (iyear==20)  dpm=year2019;
109if  (iyear==21)  dpm=year2020;
110dpm=dpm.split(";");
111
112var  Mn=month1999;
113if  (iyear==2)  Mn=month2001;
114if  (iyear==5)  Mn=month2004;
115if  (iyear==7)  Mn=month2006;
116if  (iyear==10)  Mn=month2009;
117if  (iyear==13)  Mn=month2012;
118if  (iyear==15)  Mn=month2014;
119if  (iyear==18)  Mn=month2017;
120if  (iyear==21)  Mn=month2020;
121Mn=Mn.split(";");
122
123var  Dn="初一;初二;初三;初四;初五;初六;初七;初八;初九;初十;十一;十二;十三;十四;十五;十六;十七;十八;十九;二十;廿一;廿二;廿三;廿四;廿五;廿六;廿七;廿八;廿九;三十";
124Dn=Dn.split(";");
125
126dayim=dayiy;
127
128var  total=new  Array(13);
129total[0]=parseInt(dpm[0]);
130for  (i=1;i<dpm.length-1;i++)  total[i]=parseInt(dpm[i])+total[i-1];
131for  (i=dpm.length-1;i>0;i--)
132if  (dayim>total[i-1]){
133dayim=dayim-total[i-1];
134miy=i;break;//2007/11/9若不加break則這天的農曆顯示為正月初一
135}
136bsWeek=ww;
137bsDate=yy+"年"+mm+"月";
138bsDate2=dd;
139bsYear="農曆"+Yn[iyear];
140bsYear2=Mn[miy]+Dn[dayim-1];
141if  (ss>=Ys[21]||ss<Ys[0])  bsYear=Yn[21];
142function  time(){
143document.write("<table  border='0'  style='font-size:  8pt;  font-family:Tahoma'  cellspacing='0'  width='90'  bordercolor='#cccccc' cellpadding='0'");
144document.write("<tr><td  align='center'  style='border:  1px  solid  #0099ff;padding-top:4px'><b><font  color=#3366cc>"+bsDate+"</font><span  style='font-family:  Arial  Black;font-size:18pt;color:#FF0000'>"+bsDate2+"</span><span  style='FONT-SIZE:  10.5pt;color:#000000'>");
145document.write(bsWeek+"</span><br>"+"<hr  width='60'  ></b><font  color=#666666>");
146document.write(bsYear+"<br>"+bsYear2+"</td></tr></table>");
147
148}

推算過程如下:
1.在網上查找萬年曆代碼,找出2008-2020各月天數
2.根據萬年曆查得2008-2020農曆年的名稱
3.根據
http://www.cnitblog.com/CoffeeCat/archive/2007/02/27/23279.html提供的方法作秒數推算
posted on 2007-03-31 12:03  小哈  阅读(1394)  评论(3编辑  收藏  举报