Código del diccionario de fechas
<Lenguaje de scripting="JavaScript">
<! -
Función CalConv()
{
Primer año = 1998
último año = 2031
< p; >hoy = nueva fecha();año solar = hoy obtener año completo();
mes solar = hoy getmonth()+1;
fecha solar = hoy getdate();
día de la semana = hoy getday();
LunarCal =【
nueva etiquetaLunarCal(27, 5, 3 , 43, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1,
nueva etiquetaLunarCal(46, 0, 4, 48, 1, 0, 0, 1 , 0, 1, 1, 1, 1, 0, 1, 1, /* 88 */
nueva etiquetaLunarCal(35, 0, 5, 53, 1, 1, 0, 0, 1, 0,0,1,1,1,0,1,1)/* 89 */
nueva etiquetaLunarCal(23,4,0,59,1,1,0,1,0, 1 ,0,0,1,0,1,0,1,0,1,
nueva etiquetaLunarCal(42,0,1,4,1,0,1,0,1,0, 0 , 1, 0, 1, 0, 1,
Nueva etiquetaLunarCal(31, 0, 2, 9, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0 , 1, 0),
Nueva etiqueta calendario (21, 2, 3, 14, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1 , 0, 1) /* 93 */
nueva etiquetaLunarCal(39,0,5,20,0,1,0,1,0,1,0,1,0,1,0, 1 ,
nueva etiquetaLunarCal(28,7,6,25,1,0,1,0,1,0,1,1,1,0,1,0,1,
nueva etiquetaLunarCal(48,0,0,30,0,0,1,0,1,0,1,1,1,0,1,1,
nueva etiquetaLunarCal(37, 0, 1, 35, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1) /* 97 */
Nueva etiquetaLunarCal( 25 , 5, 3, 41, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1,
nueva etiquetaLunarCal(44, 0, 4 , 46, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1,
nueva etiquetaLunarCal(33, 0, 5, 51, 1, 0, 1 , 1, 0, 1, 0, 0, 1, 0, 1,
nueva etiquetaLunarCal(22, 4, 6, 56, 1, 0, 1, 0, 1, 0, 1, 0 , 1, 0, 1, 1, 0, /* 101 */
nueva etiquetaLunarCal(40, 0, 1, 2, 1, 0, 1, 0, 1, 0, 1, 0, 1,0,1,0,1,0,
nueva etiquetaLunarCal(30,9,2,7,0,1,0,1,0,1,1,0,1,1 , 0,1,0,1,
nueva etiquetaLunarCal(49,0,3,12,0,1,0,0,1,0,1,1,1,0,1,0 , 1),
nueva etiquetaLunarCal(38,0,4,17,1,0,1,0,1,0,1,1,0,1,1,0,1,0) / * 105 */
nueva etiquetaLunarCal(27, 6, 6, 23, 0,
1,0,1,0,1,0,1,0,1,1,1,
nueva etiquetaLunarCal(46,0,0,28,0,1,0,1,0, 1,0,1,0,1,0,1,1,
nueva etiquetaLunarCal(35,0,1,33,0,1,0,1,0,0,1,0 , 0,1,1,1,
nueva etiquetaLunarCal(24,4,2,38,0,1,1,0,1,0,1,0,1,0,1,0 , 1, 1) /* 109 */
nueva etiquetaLunarCal (42, 0, 4, 44, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 ,
Nueva etiquetaLunarCal(31,0,5,49,1,0,1,0,1,1,0,1,0,1,0,1,0),
nueva etiquetaLunarCal(21,2,6,54,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1),
nueva etiquetaLunarCal(40, 0, 0, 59, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, /* 113 */
nueva etiquetaLunarCal(28,6,2,5,1,0,1,0,0,1,0,1,0,1,1,1,1,
nueva etiquetaLunarCal(47, 0, 3, 10, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1),
Nueva etiquetaLunarCal (36, 0, 4, 15, 1 , 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1,
nueva etiquetaLunarCal (25, 5, 5, 20, 1, 1, 0 ,1 ,0,1,0,1,1,1,0)/* 117 */
nueva etiquetaLunarCal(43,0,0,26,1,1,0,1,0, 1, 0,1,0,0,1,0,1,0,1,
nueva etiquetaLunarCal(32,0,1,31,1,1,0,1,1,0, 1, 0,1,0,1,0,0,1,0,
nueva etiquetaLunarCal(22,3,2,36,0,1,1,0,1,0,1, 1, 0, 1, 0, 1, 0);
/*El número de días por mes en la República de China*/
SolarCal = [31, 28, 31, 30 , 31, 30 , 31, 31, 30, 31];
/*El número acumulado de días mensuales en la República de China, años ordinarios y años bisiestos*/
solar días =[0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365, 396, 0, 31, 60, 91, 65438
AnimalIdx = [ "caballo", "oveja", "mono", "pollo", "perro", "cerdo", "rata", "buey", "tigre", "conejo", "dragón" y "serpiente"];
LocationIdx = ["Sur ""Este""Norte""Oeste"】;
if (oído solar<=primer año||año solar>LASTYEAR) devuelve 1;
sm = mes solar-1;
if (sm & lt; 0 | | sm & gt11) devuelve 2
salto = obtener salto (año solar); /p>
if(sm == 1)
d = salto+28;
Otros
d = cal solar【sm】;
if(fecha solar <1 | | fecha solar>retorno 3;
y = AñoSolar - primer año;
ACC = días solares[salto * 14 +sm 】+fecha solar
;
KC = ACC+cal[y] lunar. BaseKanChih
Kan = KC % 10;
chih = KC % 12;
ubicación = ubicación idx【KC % 4】; >edad = kc % 60
if (edad<22)
edad=22 -edad;
otro
edad= 82 -edad ;
animal = AnimalIdx[Chih];
if (ACC & lt; = cal lunar[y]. Fecha base) {
y- ;
año lunar = año solar-1;
salto = obtener salto (año lunar);
sm+= 12;
ACC = días solares【salto * 14+sm】+fecha solar;
}
Otros
AñoLunar = AñoSolar
l 1 = lunar cal【y】. Día base;
for (I = 0;i<13;i++) {
L2 = l 1+cal lunar[y]. mes días【I】+29;
si (ACC & lt; = L2) descanso
l 1 = L2;
mes lunar = I+1;
fecha lunar = ACC-l 1;
im = cal[y] lunar. interpolación;
if (im!= 0&&crescent>im){
mes lunar-;
if(mes lunar==im )mes lunar = -im;
}
si (mes lunar>12)mes lunar-= 12;
hoy = nueva Fecha() ;
Función init array(){
este . longitud = initarray longitud argumentos
for(var I = 0;i<this .length; i++)
esto【I +1】= init array . argumentos【I】}
Var d=new initArray("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", " Sábado");
document.write("<span class="jsdhtml">, today.getYear(), "Año" , today. getmonth()+1, "mes", hoy. getDate(), "día", d[hoy. getday()+1], "");
document.
& ltu & gtCalendario lunar"+MesLunar+"mes"+FechaLunar+"日);
Document.write("沙"+ubicación+"成"+edad+animal+"año
Regresar 0;
}
/*Averigüe si el año de la República de China es bisiesto, devuelva 0 para un año normal y 1 para un año bisiesto*/ p>
Función GetLeap (año)
{
if(año % 400 == 0)
Retorno 1; >de lo contrario si (año % 100 == 0 )
Devuelve 0;
de lo contrario si (año % 4 = = 0)
Devuelve 1; p>
Otros
Devuelve 0;
}
Etiqueta de función cal lunar (d, I, w, k, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m 13) {
Esto. días base = d /*El número acumulado de días desde octubre 65438 hasta el primer día; del primer mes de la República de China*/
Este. mezzanine = I; /* Mes bisiesto 0== No hay mes bisiesto este año*/
Este. base semana = w; /* Qué día del año es 65438 + 1 de octubre menos 1 * /
Esto. basekanchi = k /*El número de tallo y rama de este año es 65438+1 */
Estos días del mes = [m 1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m 13】;/*El tamaño de cada mes en. el año lunar, 0==Xiaoyue (29), 1==Dayue (30)*/
}
//--& gt;
CalConv();
& lt/script & gt;