JS日期代码 年月日 时分秒 农历全部显示

JS日期代码 年月日 时分秒 农历全部显示

JS代码:

<script>  

  var   CalendarData=new   Array(20);  

  var   madd=new   Array(12);

  var TheDate;  

  var   tgString="甲乙丙丁戊己庚辛壬癸";  

  var   dzString="子丑寅卯辰巳午未申酉戌亥";  

  var   numString="一二三四五六七八九十";  

  var   monString="正二三四五六七八九十冬腊";  

  var   weekString="日一二三四五六";  

  var   sx="鼠牛虎兔龙蛇马羊猴鸡狗猪";  

  var   cYear;  

  var   cMonth;  

  var   cDay;  

  var   cHour;

  var cDateString;

  var cDateYear;

  var cDateHour;  

  var   DateString;  

  var   Browser=navigator.appName;  

   

  function   init()  

  {    

      CalendarData[0]=0x41A95;  

      CalendarData[1]=0xD4A;  

      CalendarData[2]=0xDA5;  

      CalendarData[3]=0x20B55;  

      CalendarData[4]=0x56A;  

      CalendarData[5]=0x7155B;  

      CalendarData[6]=0x25D;  

      CalendarData[7]=0x92D;  

      CalendarData[8]=0x5192B;  

      CalendarData[9]=0xA95;  

      CalendarData[10]=0xB4A;  

      CalendarData[11]=0x416AA;  

      CalendarData[12]=0xAD5;  

      CalendarData[13]=0x90AB5;  

      CalendarData[14]=0x4BA;  

      CalendarData[15]=0xA5B;  

      CalendarData[16]=0x60A57;  

      CalendarData[17]=0x52B;  

      CalendarData[18]=0xA93;  

      CalendarData[19]=0x40E95;  

      madd[0]=0;  

      madd[1]=31;  

      madd[2]=59;  

      madd[3]=90;  

      madd[4]=120;  

      madd[5]=151;  

      madd[6]=181;  

      madd[7]=212;  

      madd[8]=243;  

      madd[9]=273;  

      madd[10]=304;  

      madd[11]=334;  

    }  

   

  function   GetBit(m,n)  

  {    

        return   (m>>n)&1;  

  }

  function e2c() {

   TheDate = new Date();     

      var   total,m,n,k;  

      var   isEnd=false;  

      var   tmp=TheDate.getYear();  

      if   (tmp<1900)     tmp+=1900;  

      total=(tmp-2001)*365  

          +Math.floor((tmp-2001)/4)  

          +madd[TheDate.getMonth()]  

          +TheDate.getDate()  

          -23;  

      if   (TheDate.getYear()%4==0&&TheDate.getMonth()>1)  

          total++;  

      for(m=0;;m++)  

      {      

          k=(CalendarData[m]<0xfff)?11:12;  

          for(n=k;n>=0;n--)  

          {  

              if(total<=29+GetBit(CalendarData[m],n))  

              {    

                  isEnd=true;  

                  break;  

              }  

              total=total-29-GetBit(CalendarData[m],n);  

          }  

          if(isEnd)break;  

      }  

      cYear=2001   +   m;  

      cMonth=k-n+1;  

      cDay=total;  

      if(k==12)  

      {  

          if(cMonth==Math.floor(CalendarData[m]/0x10000)+1)  

              cMonth=1-cMonth;  

          if(cMonth>Math.floor(CalendarData[m]/0x10000)+1)  

              cMonth--;  

      }  

      cHour=Math.floor((TheDate.getHours()+3)/2);  

  }  

   

  function   GetcDateString()  

  {   var   tmp="";  

        

      if(cMonth<1)  

      {    

        tmp+="闰";  

          tmp+=monString.charAt(-cMonth-1);  

      }  

      else  

          tmp+=monString.charAt(cMonth-1);  

      tmp+="月";  

      tmp+=(cDay<11)?"初":((cDay<20)?"十":((cDay<30)?"廿":"卅"));  

      if(cDay%10!=0||cDay==10)  

          tmp+=numString.charAt((cDay-1)%10);  

      tmp+="    ";  

       

      cDateString=tmp;  

      return   tmp;

     }

     function GetcDateYear() {

      var tmp = "";

      tmp += tgString.charAt((cYear - 4) % 10);       //年干  

      tmp += dzString.charAt((cYear - 4) % 12);       //年支  

      tmp += "年(";

      tmp += sx.charAt((cYear - 4) % 12);

      tmp += ")   ";

      cDateYear = tmp;

      return tmp;

     }

     function GetcDataHour() {

      var tmp = "";

      if (cHour == 13) tmp += "夜";

      tmp += dzString.charAt((cHour - 1) % 12);

      tmp += "时";

      cDateHour = tmp;

      return tmp;

     } 

   

  function   GetDateString()  

  {    

      var   tmp="";  

      var   t1=TheDate.getYear();  

      if   (t1<1900)t1+=1900;

      tmp += t1

                + "年"

                + (TheDate.getMonth() + 1) + "月"

                + TheDate.getDate() + "日   "

                + TheDate.getHours() + ":"

                + ((TheDate.getMinutes() < 10) ? "0" : "")

                + TheDate.getMinutes() + ":"

                + ((TheDate.getSeconds() < 10) ? "0" : "")

                + TheDate.getSeconds()

                +"   星期"+weekString.charAt(TheDate.getDay());    

      DateString=tmp;  

      return   tmp;  

  }  

   

  function ShowDateTime() {

   init();

   e2c();

   GetDateString();

   GetcDateString();

   GetcDateYear();

   GetcDataHour();

   var label = document.getElementById("labelTime");

   label.innerHTML = DateString+"  "+ " 农历:"+ cDateString+ "  "+ cDateYear+"  " + cDateHour;

   setTimeout(ShowDateTime, 1000);

  }

  

   

</script>

调用代码:

<div>

<label id="labelTime">

时间

</label>

<script type="text/javascript"> ShowDateTime();</script>

</div>
 

猜你喜欢

转载自blog.csdn.net/duzhenxun/article/details/89922654