zoukankan      html  css  js  c++  java
  • 19992020小農曆JS 3/31

      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提供的方法作秒數推算
  • 相关阅读:
    topcoder srm 681 div1
    topcoder srm 683 div1
    topcoder srm 684 div1
    topcoder srm 715 div1
    topcoder srm 685 div1
    topcoder srm 687 div1
    topcoder srm 688 div1
    topcoder srm 689 div1
    topcoder srm 686 div1
    topcoder srm 690 div1 -3
  • 原文地址:https://www.cnblogs.com/daisylh/p/694892.html
Copyright © 2011-2022 走看看