⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 +

📁 一个简单的阴阳历转换程序
💻
📖 第 1 页 / 共 3 页
字号:
      //cYear,cMonth,cDay
      this[i] =3D 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=3D=3D0)   this[i].color =3D 'red'  =
//=D6=DC=C8=D5=D1=D5=C9=AB
      if((i+this.firstWeek)%14=3D=3D13) this[i].color =3D 'red'  =
//=D6=DC=D0=DD=B6=FE=C8=D5=D1=D5=C9=AB
   }

   //=BD=DA=C6=F8
   tmp1=3DsTerm(y,m*2  )-1
   tmp2=3DsTerm(y,m*2+1)-1
   this[tmp1].solarTerms =3D solarTerm[m*2]
   this[tmp2].solarTerms =3D solarTerm[m*2+1]
   if(m=3D=3D3) this[tmp1].color =3D 'red' //=C7=E5=C3=F7=D1=D5=C9=AB

   //=B9=FA=C0=FA=BD=DA=C8=D5
   for(i in sFtv)
      if(sFtv[i].match(/^(\d{2})(\d{2})([\s\*])(.+)$/))
         if(Number(RegExp.$1)=3D=3D(m+1)) {
            this[Number(RegExp.$2)-1].solarFestival +=3D RegExp.$4 + ' '
            if(RegExp.$3=3D=3D'*') this[Number(RegExp.$2)-1].color =3D =
'red'
         }

   //=D4=C2=D6=DC=BD=DA=C8=D5
   for(i in wFtv)
      if(wFtv[i].match(/^(\d{2})(\d)(\d)([\s\*])(.+)$/))
         if(Number(RegExp.$1)=3D=3D(m+1)) {
            tmp1=3DNumber(RegExp.$2)
            tmp2=3DNumber(RegExp.$3)
            this[((this.firstWeek>tmp2)?7:0) + 7*(tmp1-1) + tmp2 - =
this.firstWeek].solarFestival +=3D RegExp.$5 + ' '
         }

   //=C5=A9=C0=FA=BD=DA=C8=D5
   for(i in lFtv)
      if(lFtv[i].match(/^(\d{2})(.{2})([\s\*])(.+)$/)) {
         tmp1=3DNumber(RegExp.$1)-firstLM
         if(tmp1=3D=3D-11) tmp1=3D1
         if(tmp1 >=3D0 && tmp1<n) {
            tmp2 =3D lDPOS[tmp1] + Number(RegExp.$2) -1
            if( tmp2 >=3D 0 && tmp2<this.length) {
               this[tmp2].lunarFestival +=3D RegExp.$4 + ' '
               if(RegExp.$3=3D=3D'*') this[tmp2].color =3D 'red'
            }
         }
      }

   //=BA=DA=C9=AB=D0=C7=C6=DA=CE=E5
   if((this.firstWeek+12)%7=3D=3D5)
      this[12].solarFestival +=3D '=BA=DA=C9=AB=D0=C7=C6=DA=CE=E5 '

   //=BD=F1=C8=D5
   if(y=3D=3DtY && m=3D=3DtM) this[tD-1].isToday =3D true;

}

//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =
=D6=D0=CE=C4=C8=D5=C6=DA
function cDay(d){
   var s;

   switch (d) {
      case 10:
         s =3D '=B3=F5=CA=AE'; break;
      case 20:
         s =3D '=B6=FE=CA=AE'; break;
         break;
      case 30:
         s =3D '=C8=FD=CA=AE'; break;
         break;
      default :
         s =3D nStr2[Math.floor(d/10)];
         s +=3D nStr1[d%10];
   }
   return(s);
}

/////////////////////////////////////////////////////////////////////////=
//////

var cld;

function drawCld(SY,SM) {
   var i,sD,s,size;
   cld =3D new calendar(SY,SM);

   if(SY>1874 && SY<1909) yDisplay =3D '=B9=E2=D0=F7' + =
(((SY-1874)=3D=3D1)?'=D4=AA':SY-1874)
   if(SY>1908 && SY<1912) yDisplay =3D '=D0=FB=CD=B3' + =
(((SY-1908)=3D=3D1)?'=D4=AA':SY-1908)
   if(SY>1911 && SY<1950) yDisplay =3D '=C3=F1=B9=FA' + =
(((SY-1911)=3D=3D1)?'=D4=AA':SY-1911)
//   if(SY>1949) yDisplay =3D '=B9=B2=BA=CD=B9=FA' + =
(((SY-1949)=3D=3D1)?'=D4=AA':SY-1949)

  // GZ.innerHTML =3D yDisplay +'=C4=EA =C5=A9=C0=FA' + =
cyclical(SY-1900+36) + '=C4=EA =
&nbsp;&nbsp;=A1=BE'+Animals[(SY-4)%12]+'=A1=BF';

   if(SY>1949) yDisplay =3D ''

   GZ.innerHTML =3D yDisplay +' =C5=A9=C0=FA' + cyclical(SY-1900+36) + =
'=C4=EA &nbsp;&nbsp;=A1=BE'+Animals[(SY-4)%12]+'=A1=BF';

   YMBG.innerHTML =3D "&nbsp;" + SY + "<BR>&nbsp;" + monthName[SM];


   for(i=3D0;i<42;i++) {

      sObj=3Deval('SD'+ i);
      lObj=3Deval('LD'+ i);

      sObj.className =3D '';

      sD =3D i - cld.firstWeek;

      if(sD>-1 && sD<cld.length) { //=C8=D5=C6=DA=C4=DA
         sObj.innerHTML =3D sD+1;

         if(cld[sD].isToday) sObj.className =3D 'todyaColor'; =
//=BD=F1=C8=D5=D1=D5=C9=AB

         sObj.style.color =3D cld[sD].color; =
//=B9=FA=B6=A8=BC=D9=C8=D5=D1=D5=C9=AB

         if(cld[sD].lDay=3D=3D1) //=CF=D4=CA=BE=C5=A9=C0=FA=D4=C2
            lObj.innerHTML =3D '<b>'+(cld[sD].isLeap?'=C8=F2':'') + =
cld[sD].lMonth + '=D4=C2' + =
(monthDays(cld[sD].lYear,cld[sD].lMonth)=3D=3D29?'=D0=A1':'=B4=F3')+'</b>=
';
         else //=CF=D4=CA=BE=C5=A9=C0=FA=C8=D5
            lObj.innerHTML =3D cDay(cld[sD].lDay);

         s=3Dcld[sD].lunarFestival;
         if(s.length>0) { //=C5=A9=C0=FA=BD=DA=C8=D5
            if(s.length>6) s =3D s.substr(0, 4)+'=A1=AD';
            s =3D s.fontcolor('red');
         }
         else { //=B9=FA=C0=FA=BD=DA=C8=D5
            s=3Dcld[sD].solarFestival;
            if(s.length>0) {
               size =3D (s.charCodeAt(0)>0 && s.charCodeAt(0)<128)?8:4;
               if(s.length>size+2) s =3D s.substr(0, size)+'=A1=AD';
               s =3D s.fontcolor('blue');
            }
            else { //=D8=A5=CB=C4=BD=DA=C6=F8
               s=3Dcld[sD].solarTerms;
               if(s.length>0) s =3D s.fontcolor('limegreen');
            }
         }
         if(s.length>0) lObj.innerHTML =3D s;

      }
      else { //=B7=C7=C8=D5=C6=DA
         sObj.innerHTML =3D '';
         lObj.innerHTML =3D '';
      }
   }
}

function changeLong()=20
{
var y,m,ly,lm,id,im,iy,yangy,yangm,deltm,miny,tt;
CLD.SY.selectedIndex=3DCLD.D1.selectedIndex;
CLD.SM.selectedIndex=3DCLD.D2.selectedIndex;
yangm=3D0;yangy=3D0;
tt=3Dtrue;
while (tt)
	{
	yangm=3D0;yangy=3D0;
			changeCld();
		   for(i=3D0;i<42;i++)=20
		   {
		      sD =3D i - cld.firstWeek;
		      if(sD>-1 && sD<cld.length)=20
		      { //=C8=D5=C6=DA=C4=DA
			      if =
((cld[sD].lMonth=3D=3DCLD.D2.selectedIndex+1)&&(cld[sD].lYear=3D=3DCLD.D1=
.selectedIndex+1900))
			      {
					yangy=3DCLD.SY.selectedIndex+1900; 	yangm=3DCLD.SM.selectedIndex ;
					tt=3Dfalse;
					break;
					}
	      		}
		   }
		   if (!tt) break;
		  =20
			pushBtm('MD');
			changeCld();

//			alert(CLD.SY.selectedIndex+" "+CLD.SM.selectedIndex);

		   for(i=3D0;i<42;i++)=20
		   {
		      sD =3D i - cld.firstWeek;
		      if(sD>-1 && sD<cld.length)=20
		      { //=C8=D5=C6=DA=C4=DA
			      if =
((cld[sD].lMonth=3D=3DCLD.D2.selectedIndex+1)&&(cld[sD].lYear=3D=3DCLD.D1=
.selectedIndex+1900))
			      {
					yangy=3DCLD.SY.selectedIndex+1900; 	yangm=3DCLD.SM.selectedIndex ;
					tt=3Dfalse;
					break;
					}
	      		}
		   }
			break;		  =20
	}
//		alert(yangy+" "+yangm);
=09

//CLD.SY.selectedIndex=3Dyangy;//-1900;
//pushBtm('YU');
//pushBtm('YD');
CLD.SM.selectedIndex=3Dyangm;=20
pushBtm('MD');
pushBtm('MU');
 =09
 	=09
 =09
}
//changeLong end

function changeCld() {
   var y,m;
   y=3DCLD.SY.selectedIndex+1900;
   m=3DCLD.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=3D11;
            if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
         }
         break;
      case 'MD' :
         if(CLD.SM.selectedIndex<11) {
            CLD.SM.selectedIndex++;
         }
         else {
            CLD.SM.selectedIndex=3D0;
            if(CLD.SY.selectedIndex<149) CLD.SY.selectedIndex++;
         }
         break;
      default :
         CLD.SY.selectedIndex=3DtY-1900;
         CLD.SM.selectedIndex=3DtM;
   }
   changeCld();
}



var Today =3D new Date();
var tY =3D Today.getFullYear();
var tM =3D Today.getMonth();
var tD =3D Today.getDate();
/////////////////////////////////////////////////////////////////////////=
/////

var width =3D "130";
var offsetx =3D 2;
var offsety =3D 16;

var x =3D 0;
var y =3D 0;
var snow =3D 0;
var sw =3D 0;
var cnt =3D 0;

var dStyle;
document.onmousemove =3D mEvn;

//=CF=D4=CA=BE=CF=EA=CF=B8=C8=D5=C6=DA=D7=CA=C1=CF
function mOvr(v) {
   var s,festival;
   var sObj=3Deval('SD'+ v);
   var d=3DsObj.innerHTML-1;

      //sYear,sMonth,sDay,week,
      //lYear,lMonth,lDay,isLeap,
      //cYear,cMonth,cDay

   if(sObj.innerHTML!=3D'') {

      sObj.style.cursor =3D 's-resize';

      if(cld[d].solarTerms =3D=3D '' && cld[d].solarFestival =3D=3D '' =
&& cld[d].lunarFestival =3D=3D '')
         festival =3D '';
      else
         festival =3D '<TABLE WIDTH=3D100% BORDER=3D0 CELLPADDING=3D2 =
CELLSPACING=3D0 BGCOLOR=3D"#6494C8"><TR><TD>'+
         '<FONT COLOR=3D"#ffffff" =
STYLE=3D"font-size:9pt;">'+cld[d].solarTerms + ' ' + =
cld[d].solarFestival + ' ' + cld[d].lunarFestival+'</FONT></TD>'+
         '</TR></TABLE>';

      s=3D '<TABLE WIDTH=3D"130" BORDER=3D0 CELLPADDING=3D"2" =
CELLSPACING=3D0 BGCOLOR=3D"#3A6EA5"><TR><TD>' +
         '<TABLE WIDTH=3D100% BORDER=3D0 CELLPADDING=3D0 =
CELLSPACING=3D0><TR><TD ALIGN=3D"right"><FONT COLOR=3D"#ffffff" =
STYLE=3D"font-size:9pt;">'+
         cld[d].sYear+' =C4=EA '+cld[d].sMonth+' =D4=C2 '+cld[d].sDay+' =
=C8=D5<br>=D0=C7=C6=DA'+cld[d].week+'<br>'+
         '<font color=3D"violet">=C5=A9=C0=FA'+(cld[d].isLeap?'=C8=F2 =
':' ')+cld[d].lMonth+' =D4=C2 '+cld[d].lDay+' =C8=D5</font><br>'+
         '<font color=3D"yellow">'+cld[d].cYear+'=C4=EA =
'+cld[d].cMonth+'=D4=C2 '+cld[d].cDay + '=C8=D5</font>'+
         '</FONT></TD></TR></TABLE>'+ festival +'</TD></TR></TABLE>';


      document.all["detail"].innerHTML =3D s;

   	if (snow =3D=3D 0) {
         dStyle.left =3D x+offsetx-(width/2);
         dStyle.top =3D y+offsety;
   		dStyle.visibility =3D "visible";
   		snow =3D 1;
   	}
	}
}

//=C7=E5=B3=FD=CF=EA=CF=B8=C8=D5=C6=DA=D7=CA=C1=CF
function mOut() {
	if ( cnt >=3D 1 ) { sw =3D 0 }
	if ( sw =3D=3D 0 ) { snow =3D 0;	dStyle.visibility =3D "hidden";}
	else cnt++;
}

//=C8=A1=B5=C3=CE=BB=D6=C3
function mEvn() {
   x=3Devent.x;
   y=3Devent.y;
	if (document.body.scrollLeft)
	   {x=3Devent.x+document.body.scrollLeft; =
y=3Devent.y+document.body.scrollTop;}
	if (snow){
      dStyle.left =3D x+offsetx-(width/2)
      dStyle.top =3D y+offsety
	}
}

/////////////////////////////////////////////////////////////////////////=
//


function tick() {
   var today

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -