//--cBmoջD--//
function D0(y,m,d){//ղ씵
  var ifG=ifGr(y,m,d,1);
  var monL=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
  if(ifG)
    if((y%100!=0&&y%4==0)||(y%400==0))
      monL[2]+=1;
    else ;
  else
    if(y%4==0)
      monL[2]+=1;
    else ;
  var v=0;
  for(var i=0;i<=m-1;i++){
    v+=monL[i];
  }
  v+=d;
  if(y==1582){
    if(ifG==1)
      v=v-10;
    if(ifG==-1)
      v=-1;  //infinity 
  }
  return v;
}
function antiD0(y,x){//ղ씵
 var yL=D0(y,12,31)-D0(y,1,0);
 var yL2=D0(y-1,12,31)-D0(y-1,1,0);
 if(x<1){
  var m=1;
  var x=x+yL2;
 for(var j=1;j<=12;j++){
    var mL=D0(y-1,j+1,1)-D0(y-1,j,1);
    if(x<=mL||j==12){
      var m=j-12;
      break;
    }
    else 
       x-=mL; 
  }
  return 100*m+x;
  }else{
 if(x>yL){
  var m=1;
  var x=x-yL;
 for(var j=1;j<=12;j++){
    var mL=D0(y+1,j+1,1)-D0(y+1,j,1);
    if(x<=mL||j==12){
      var m=j+12;
      break;
    }
    else 
       x-=mL; 
  }
  return 100*m+x;
  }else{
  var m=1;
  for(var j=1;j<=12;j++){
    var mL=D0(y,j+1,1)-D0(y,j,1);
    if(x<=mL||j==12){
      var m=j;
      break;
    }
    else 
       x-=mL; 
  }
  return 100*m+x;
}}
}
//씵
function D(y){
  var v=(y-1)*365+floor((y-1)/4);  //Julian씵
  if(y>1582)
    v+=-floor((y-1)/100)+floor((y-1)/400);  //Gregorian씵
  return v;
}
//Ч˜씵--Ԫ112̖0
function erD(y,m,d){
  var v=(y-1)*365+floor((y-1)/4)+D0(y,m,d)-2;  //JulianĵЧ˜씵
  if(y>1582)
    v+=-floor((y-1)/100)+floor((y-1)/400)+2;  //GregorianĵЧ˜씵
  return v;
}
//Ч씵--ǰ471311̖0գ0c粻ܕr^
function erJD(y,m,d){
  var v=(y-1)*365+floor((y-1)/4)+D0(y,m,d)-2;
  if(y>1582)
    v+=-floor((y-1)/100)+floor((y-1)/400)+2;
  var jd=(v+1721425);//Ч
  return jd;
}
//23cЧ씵
function erJD2(y,m,d,h){
  var v=(y-1)*365+floor((y-1)/4)+D0(y,m,d)-2;
  if(y>1582)
    v+=-floor((y-1)/100)+floor((y-1)/400)+2;
    var jd=(h<23)?(v+1721425):(v+1721425)+1;//23cЧ
  return jd;
}
//˜
function JD(y,m,d,h,min,sec,zone){
  var ifG=ifGr(y,m,d,1);
  var jt=(h+(min+sec/60)/60)/24-0.5-zone/24;
  var jd=(ifG)?(erD(y,m,d)+1721425+jt):(erD(y,m,d)+1721425+jt);//
  return jd;
}
  function reerJD(jd){ //Ч씵D
   var m=0;var d=0;var mjeJD=jd;
  var jeaJD=2415021;//1900,1,1ЧJD
  var yey=floor((mjeJD-jeaJD)/365.25+1900);if(mjeJD>=2299239)yey=floor((mjeJD+10-jeaJD)/365.2425+1900);
  var y=yey;if(mjeJD<erJD(yey,1,1))y=yey-1;if(mjeJD>=erJD(yey+1,1,1))y=yey+1;
  for(var i=1;i<=12;i++){
  if(mjeJD>=erJD(y,i,1)&&mjeJD<erJD(y,i+1,1))m=i,d=mjeJD-erJD(y,i,1)+1;
  }
  var dd=(y==1582&&m==10&&d>=5)?d+10:d;
  var ymd=y+','+m+','+dd;
 return ymd;
  }
  function revJD(jd){ //ՔD
   var D='';var A='';var D3=0;var D4=0;var D5=0;var D6=365.25;
   var A=floor(jd+1-0.167);var F=tail(jd);//ȡñrgՔAСF
   var m=0;var d=0;var mjeJD=A;
  var jeaJD=2415021;//1900,1,1ЧJD
  var yey=floor((mjeJD-jeaJD)/365.25+1900);if(mjeJD>=2299239)yey=floor((mjeJD+10-jeaJD)/365.2425+1900);
  var y=yey;if(mjeJD<erJD(yey,1,1))y=yey-1;if(mjeJD>=erJD(yey+1,1,1))y=yey+1;
  for(var i=1;i<=12;i++){
  if(mjeJD>=erJD(y,i,1)&&mjeJD<erJD(y,i+1,1))m=i,d=mjeJD-erJD(y,i,1)+1;
  }
  var dd=(y==1582&&m==10&&d>=5)?d+10:d;
  var ymd=y+','+m+','+dd;
 return ymd;
  }
  function moncyiglm(dj,da2,kb){//rD,djЧ,da2r(ԄУ),kb_P
   var m=0;var d=0;var mjeJD=dj;
  var jeaJD=2415021;//1900,1,1ЧJD
  var yey=floor((mjeJD-jeaJD)/365.25+1900);if(mjeJD>=2299239)yey=floor((mjeJD+10-jeaJD)/365.2425+1900);
  var y=yey;if(mjeJD<erJD(yey,1,1))y=yey-1;if(mjeJD>=erJD(yey+1,1,1))y=yey+1;
  for(var i=1;i<=12;i++){
  if(mjeJD>=erJD(y,i,1)&&mjeJD<erJD(y,i+1,1))m=i,d=mjeJD-erJD(y,i,1)+1;
  }
  var ma=m;
  if(kb==1)ma=y;if(kb==2)ma=(y==1582&&m==10&&d>=5)?d+10:d;//kb=0''()ع,kb=1ع,kb=2ع
   return ma;
}//{moncyiglm(һDJ+r-1,r,kb)
