Código fuente de Moon js
var hoy = nueva Fecha();
Var d = nueva matriz("Domingo", "Lunes", "Martes", "Miércoles", " Jueves", "Viernes", "Sábado");
var DDDD = (hoy . getyear()< 100 ?
hoy . getyear()+1900:hoy . getyear ())+" año "+(hoy . getmes()+1)+" mes "+hoy . getdate()+" día ";
DDDD = DDDD+" "+d[hoy .getday ()];
DDDD = DDDD+" "+(CnDateofDateStr(hoy));
//DDDD = DDDD+ " " + SolarTerm(hoy);
document . write(DDDD);
}
Función daysnumborofdate(DateGL){
return parse int((date . parse(DateGL)- fecha. parse(DateGL . getyear()+"/1/1 ")/86400000)+1;
}
Función CnDateofDate(DateGL){
var CnData = nueva matriz (
0x16, 0x2a, 0xda, 0x00, 0x83, 0x49, 0xb6, 0x05, 0x0e, 0x64, 0xbb, 0x00, 0x19, 0xb2, 0x5b, 0x00,
0x87, 0x6a, 0x57, 0x04, 0x12, 0x75, 0x2b, 0x00, 0x1d, 0xb6, 0x95, 0x00, 0x8a, 0xad, 0x55, 0x02,
0x15, 0x55, 0xaa, 0x00, 0x82, 0x55, 0x6c, 0x07, 0x0d, 0xc9, 0x76, 0x00, 0x17, 0x64, 0xb7, 0x00,
0x86, 0xe4, 0xae, 0x05, 0x11, 0xea, 0x56, 0x00, 0x1b, 0x6d, 0x2a , 0x00, 0x88, 0x5a, 0xaa, 0x04,
0x14, 0xad, 0x55, 0x00, 0x81, 0xaa, 0xd5, 0x09, 0x0b, 0x52, 0xea, 0x00, 0x16, 0xa9, 0x6d, 0x00,
0x84, 0xa9, 0x5d, 0x06, 0x0f, 0xd4, 0xae, 0x00, 0x1a, 0xea, 0x4d, 0x00, 0x87, 0xba, 0x55, 0x04
);
var cn mes = new Array();
var CnMonthDays = new Array();
var CnBeginDay
var LeapMonth p>
var Bytes = new Array();
var I;
var CnMonthData
var DaysCount
var CnDaysCount p>
var resulta en mes;
var resulta en día;
var yyyy = dategl .
var mm = dategl . getmes()+1;
>var DD = dategl . getdate();
if(yyyy & lt;100)yyyy+= 1900;
if ((yyyy & lt1997)| |(yyyy & gt; 2020)){
Devuelve 0;
}
bytes[0]= datos cn[(yyyy-1997)* 4];
bytes[1]= datos cn[(yyyy-1997)* 4+1];
bytes[2]= datos cn[(yyyy-1997)* 4+2]; p>
bytes[2]= datos cn[(yyyy-1997)* 4+2];
p>bytes[3]= datos cn[(yyyy-1997)* 4+3 ];
if((Bytes[0]&0x80)!= 0){ cn mes [0]= 12;}
else { cn mes[0]= 11 ;}
CnBeginDay =(Bytes[0]&0x7f);
CnMonthData = Bytes[1];
CnMonthData = CnMonthData & lt& lt8;
CnMonthData = CnMonthData | Bytes[2];
mes bisiesto = Bytes [3];
for(I = 15;I>=0;I-) {
CnMonthDays[15-I]= 29;
if(((1<<I)andampCnMonthData)!= 0){
CnMonthDays[15- I]++;}
if(cn mes[15- I]= = mes bisiesto){
cn mes[15-I+1]=-mes bisiesto;}
En caso contrario{
if(cn mes [15-I]<0){ cn mes[15-I+1]=-cn mes[15-I]+1 ;}
else { cn mes[15-I+1 ]= cn mes[15-I]+1;}
if(cn mes[15-I+1] >;12){ cn mes[15-I+1]= 1;}
}
}
recuento de días = númerodedías(DateGL)-1 ;
if(cuenta de días & lt; = (CnMonthDays[ 0] - CnBeginDay)){
if((yyyy>1901);& amp(CnDateofDate(nueva fecha(( yyyy-1)+"/12/31 "))<0 )){
resultado mes =-cn mes[0];}
else { resultado mes = cn mes[0];}
día del resultado = CnBeginDay+recuento de días;
}
En caso contrario {
recuento de cndías = CnMonthDays[ 0]-CnBeginDay;
I = 1;
mientras((cndays count & lt;days count)& amp;& amp(cndays count+CnMonthDays[I]& lt; DaysCount)){
cndays count+= CnMonthDays[ I
];
i++;
}
resultado mes = cn mes[I];
resultado día = conteo de días-conteo de días ;
}
if(mes del resultado & gt; 0){
Devolver mes del resultado * 10día del resultado;}
else {devolver mes de resultados * día de 100 resultados;}
}
Función CnYearofDate(DateGL){
var AAAA = dategl();<. /p>
var MM = dategl . getmonth()+1;
var CnMM = parse int(math . ABS(CnDateofDate(DateGL))/100); if(AAAA<100)AAAA+= 1900;
if(CnMM>MM)AAAA-;
AAAA-= 1864;
Devolver CnEra(AAAA) +"año";
}
Función CnMonthDate(DateGL){
Var CnMonthStr=new Array("cero", "positivo", "dos" , "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez", "once", "cera");
var mes;
mes = parse int(CnDateofDate(DateGL)/100);
if (mes<0){ return " salto "+CnMonthStr[-Month ]+" Mes ";}
else { return CnMonthStr[Mes]+" Mes ";}
}
Función CnDayofDate(DateGL){ p>
Var CnDayStr =new Array ("cero",
"Primer grado", "Segundo grado", "Tercer grado", "Cuarto grado", "Quinto grado",
"Sexto grado ", "Séptimo grado", "Octavo grado", "Noveno grado", "Décimo grado",
"Undécimo grado", "Duodécimo grado", "Decimotercero grado", "Catorce", "Quince ",
"Dieciséis", "Diecisiete", "Dieciocho", "Diecinueve", "Veinte",
"21", "22", "23", "24 ", "25",
"Veintiséis", "Veintisiete", "Veintiocho", "Veintinueve", "Treinta");
var día;
día = (math . ABS(CnDateofDate(DateGL)))% 100
return CnDayStr[ Día];
}
Función NúmeroDíasMes(FechaGL){
var mm 1 = fechagl .
mm 1 <100 ?mm 1+= 1900:mm 1; p>
var MM2 = mm 1;
mm 1+= "/"+(dategl . getmonth()+1 );
MM2+= "/"+( dategl . getmonth()+2);
mm 1+= "/1 ";
MM2+= "/1 ";
Devuelve parse int( (fecha. analizar(MM2)-fecha
parse(mm 1))/86400000);
}
Función CnEra(AAAA){
Var Tiangan=nueva matriz ("A ",". B","C","D","E","ji","geng","xin","human","fantasma");
//var Dizhi = nueva formación ("子 (rata)", "Chou (buey)", "Yin (tigre)", "Mao (conejo)", "Chen (dragón)", "Si (serpiente)",
//"Wu (caballo)", "Wei (oveja)", "Shen (mono)", "Tú (pollo)", "Xu (perro)", "Hai (cerdo)");
Var Dizhi = Nueva Formación ("子", "Chou", "Yin", "Mao", "Chen", "Si", "武", "Wei", "Shen", "酉", "Xu " ", "海");
Huitianqian [AAAA % 10] + Dizhi [AAAA % 12]
}
Función CnDateofDateStr(DateGL) {
If(CnMonhofDate(DateGL)== "Mes cero") devuelve "¡Ajuste la fecha de su computadora!";
Else devuelve "Calendario lunar:+cnyearofdate(dategl)+" +cnmonthofdate(dategl)+cndayofdate(dategl);
}
Función SolarTerm(DateGL){
var SolarTermStr = nueva matriz (
"Pequeño frío", "Gran frío", "Comienzo de la primavera", "Lluvia", "Jingzhe", "Equinoccio de primavera",
"Qingming", "Lluvia de cereales", "Largo verano ", "Xiaoman" y "Mang" "Zhong" "Solsticio de verano",
"Pequeño calor", "Gran calor", "Comienzo del otoño", "Verano", "Milenio", "Otoñal Equinoccio",
"Rocío frío", "Primera helada", "Comienzo del invierno", "Nieve ligera", "Nieve fuerte", "Solsticio de invierno");
var DiferenciaEnMes = nueva matriz (
1272060,1275495,1281180,1289445,1299225,1310355,
1321560,1333035,1342770,1350855,1356420,1359045,
1358580,1355055,1348695,1340040,1329630,1318455,
1306935 ,1297380,1286865 ,1277730,1274550,1271556);
var diferencia en el año = 31556926 ;
var hora de inicio = nueva fecha(1901/1/1);
hora de inicio . settime(947120460000);
for(dategl . getyear()<hora de inicio . getyear();){
hora de inicio . settime(hora de inicio . gettime()-diferencia en año * 1000);
}
for(; dategl . getyear()>hora de inicio . getyear();){
hora de inicio . settime(hora de inicio . gettime()+diferencia en año * 1000); /p>
for(var M = 0; dategl . getmonth()& gt; hora de inicio . getmonth();M++){
comenzar
ime . settime(hora de inicio . gettime()+diferencia en mes[M]* 1000
}
if(dategl . getdate()& gt;BeginTime.getDate()); ){
hora de inicio . settime(hora de inicio . gettime()+diferencia en mes[M]*
m++; >
if(dategl . getdate()& gt;BeginTime.getDate()){
hora de inicio . settime(hora de inicio . gettime()+diferencia en mes[M]* 1000);
M==23? M = 0:m++;
}
var JQ;
if(dategl . getdate()= = hora de inicio . getdate()){ p>
JQ= "Hoy es
}
else if(dategl . getdate()= = hora de inicio . getdate()-1){
JQ="Mañana es
}
else if(dategl . getdate()= = hora de inicio . getdate()-2){
JQ = "Pasado mañana es
}
De lo contrario {
JQ= " "
if(dategl . getmonth()= = hora de inicio .getmonth()){
JQ+=“Este mes”;
}
De lo contrario{
JQ+=“ El próximo mes ";
}
JQ+= hora de inicio . getdate()+" día "+" < font color = ' # ff 9999 ' & gt > +SolarTermStr; [ M]+" </b></font>;
}
Devolver JQ;
}
Función CAL ()
{}
rung nl();