Guiones con festivales y calendarios lunares:
La copia del código es la siguiente:
<html>
<Evista>
<meta http-oquiv = "content-type" content = "text/html; charset = gb2312">
<title> Calendario con calendario lunar </title>
<Script language = "javaScript">
<!-
var lunarinfo = nueva matriz (
0x04bd8,0x04AE0,0x0A570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,
0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,
0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,
0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950,
0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,
0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,
0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,
0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4d4,0x0d250,0x0d5558,0x0b540,0x0b5a0,0x195a6,
0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a, 0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,
0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,
0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,
0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,
0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530,
0x05AA0,0x076A3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0d45,
0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa550,0x1b255,0x06d20,0x0ada0)
var solarmonth = nueva matriz (31,28,31,30,31,30,31,31,31,30,31);
Var animales = nueva matriz ("rata", "buey", "tigre", "conejo", "dragón", "serpiente", "caballo", "oveja", "mono", "pollo", "perro", "cerdo");
var solarTerm = new Array("Little Cold", "Great Cold", "Beginning of Spring", "Rain Water", "Jingzhe", "Spring Equinox", "Qingming", "Green Rain", "Beginning of Summer", "Little Man", "Graining Seeds", "Summer Solar", "Little Heat", "Great Heat", "Beginning of Autumn", "Eat Heat", "White Dew", "Autumn Equinox", "Cold Dew "," Frost desciende "," Nieve baja "," Nieve alta "," Solsticio de invierno ");
var sterminfo = nuevo Matriz (0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,26 3343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758);
var nstr1 = new Array ('Day', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'ocho', 'Nine', 'Doce');
var nstr2 = new Array ('primero', 'diez', 'veinte', 'treinta');
// Festival del Calendario Gregoriano
var sftv = nueva matriz (
"0101 Día de Año Nuevo",
"0214 Día de San Valentín",
"0308 Día de la Mujer",
"0312 Día del Arbor",
"0315 Día de los derechos del consumidor",
"0401 April Día de los Inocentes",
"0501 Día del Trabajo",
"0504 Día de la Juventud",
"0512 Día de las enfermeras",
"0601 Día del Niño",
"Día de la fundación de la fiesta 0701",
"0801 Día del Ejército",
"0910 Día del maestro",
"0928 Birth de Confucio",
"1001 Día Nacional",
"1006 Día de ancianos",
"1024 Día de las Naciones Unidas",
"1224 Nochebuena",
"1225 Navidad")
// festival lunar lunar
var lftv = nueva matriz (
"Festival de primavera 0101",
"0115 Festival Lantern",
"0505 Dragon Boat Festival",
"0707 Día de San Valentín chino",
"0715 Festival Zhongyuan",
"0815 Festival de Medio Otoño",
"0909 Double Noveno Festival",
"1208 LABA Festival",
"1224 Little Año Nuevo")
// volver al número total de días en el año Y del calendario lunar
función lyeardays (y) {
var i, sum = 348;
para (i = 0x8000; i> 0x8; i >> = 1) sum+= (lunarinfo [y-1900] & i)? 1: 0;
return (sum+laveDays (y));
}
// Regrese a la cantidad de días en el mes bisiesto del año lunar Y
función Leapdays (y) {
if (LeapMonth (y)) return ((lunarinfo [y-1900] y 0x10000)? 30: 29);
else return (0);
}
// juzga que el mes en el calendario lunar en el año Y es un mes bisiesto, no un mes bisiesto para regresar a 0
función LeapMonth (y) {
return (lunarinfo [y-1900] y 0xf);
}
// regresa al número total de días en el año y y el mes del calendario lunar
función mes mes (y, m) {
return ((lunarinfo [y-1900] & (0x10000 >> m))? 30:29);
}
// Calcule la fecha lunar del primer día del mes actual y la fecha lunar del primer día del mes actual del calendario lunar.
función dianaday (objdate) {
Var I, Leap = 0, temp = 0;
var basado = nueva fecha (1900,0,31);
Var offset = (objDate - basado)/86400000;
this.daycyl = offset+40;
this.moncyl = 14;
para (i = 1900; i <2050 && offset> 0; i ++) {
temp = lyeardays (i)
compensación -= temp;
this.moncyl += 12;
}
if (offset <0) {
offset += temp;
i--;
this.moncyl -= 12;
}
this.Year = i;
this.Yearcyl = I-1864;
Leap = LeapMonth (i); // que mes es salto
this.eSeap = false;
para (i = 1; i <13 && offset> 0; i ++) {
if (salto> 0 && i == (salto+1) && this.eleap == false) {// Leap Mes
--i; this.eSeap = true; temp = Leapdays (this.Year);}
demás{
temp = Messdays (this.Year, i);}
if (this.eSeAp == true && i == (salto+1)) this.Eseap = false; // lanza el mes de salto
compensación -= temp;
if (this.eSeap == false) this.moncyl ++;
}
if (offset == 0 && leap> 0 && i == Leap+1)
if (this.eleap) {this.eSeap = false;}
else {this.eSeap = true;-i;-this.moncyl;}
if (offset <0) {offset+= temp;-i;-this.moncyl;}
this.Month = i;
this.day = offset+1;
}
// Regrese a la cantidad de días en el año Y + enero del calendario gregoriano
función solardays (y, m) {
if (m == 1)
return (((y%4 == 0) && (y%100! = 0) || (y%400 == 0))? 29:28);
demás
return (solarmonth [m]);
}
// Registre las fechas del calendario gregoriano y el día del calendario lunar
CALELEMENTE DE FUNCIONES (SYEAR, SMONTH, SDAY, SEMANA, LYEAR, LMONTH, LDAY, ISLEAP) {
this.istoday = false;
//Calendario gregoriano
this.syear = syear;
this.smonth = smonth;
this.sday = sday;
this.week = semana;
// calendario lunar
this.lyear = lyear;
this.lmonth = lmonth;
this.lday = lday;
this.Eloap = isleap;
// discos festivos
this.lunarfestival = ''; // festival lunar
this.solarfestival = ''; // festivales gregorianos
this.solarterms = ''; //Solar
}
// regresa al enésimo término solar de un cierto año a cuántos días (a partir de 0 Xiaohan)
función esterma (y, n) {
var Offdate = nueva fecha ((31556925974.7*(y-1900)+sterminfo [n]*60000)+date.utc (1900,0,6,2,5));
return (offdate.getUtcDate ())
}
// Guardar la información relevante sobre y año M+ enero
var grasa = mat = 9;
var eve = 0;
calendario de funciones (y, m) {
grasa = mat = 0;
var sdobj, ldobj, ly, lm, ld = 1, ll, lx = 0, tmp1, tmp2;
var ldPos = nueva matriz (3);
var n = 0;
var firstlm = 0;
sdobj = nueva fecha (y, m, 1); // Fecha del primer día del mes
this.length = solardays (y, m); // El número de días en el mes calendario gregoriano
this.firstweek = sdobj.getday (); // ¿Qué día de la semana el 1 del Mes Calendario Gregoriano
if ((m+1) == 5) {fat = sdobj.getday ()}
if ((m+1) == 6) {mat = sdobj.getday ()}
para (var i = 0; i <this.length; i ++) {
if (ld> lx) {
sdobj = nueva fecha (y, m, i+1); // Fecha del primer día del mes
ldoBJ = new Dianaday (SDOBJ); // calendario lunar
ly = ldoBj.Year; // año lunar
lm = ldobj.month; // Mes lunar
ld = ldobj.day; // día lunar
ll = ldobj.eleap; // es el mes de salto del calendario lunar
lx = ll? LEAPDAYS (LY): Meses Days (LY, LM); // El último día del mes lunar
if (lm == 12) {eve = lx}
if (n == 0) firstlm = lm;
ldPos [n ++] = i-ld+1;
}
este [i] = nuevo calor (y, m+1, i+1, nstr1 [(i+this.firstweek)%7], ly, lm, ld ++, ll);
if ((i+this.firstweek)%7 == 0) {
este [i] .color = 'rojo'; // color dominical
}
}
// término solar solar
tmp1 = esterma (y, m*2) -1;
tmp2 = esterma (y, m*2+1) -1;
este [tmp1] .solarterms = solarterm [m*2];
este [tmp2] .solarterms = solarterm [m*2+1];
if ((this.firstweek+12)%7 == 5) // Black Friday
esto [12] .solarfestival += 'Black Friday';
if (y == ty && m == tm) this [td-1] .istoday = true; //Hoy
}
// Mostrar la fecha del calendario lunar en chino
función cday (d) {
var s;
Switch (d) {
Caso 10:
s = 'décimo día del primer mes lunar'; romper;
Caso 20:
s = 'veinte'; romper;
romper;
Caso 30:
s = 'treinta'; romper;
romper;
por defecto:
s = nstr2 [math.floor (d/10)];
s += nstr1 [d%10];
}
regresar (s);
}
var cld;
function drawCld (sy, sm) {
var tf = true;
var p1 = p2 = "";
var i, sd, s, tamaño;
CLD = nuevo calendario (SY, SM);
Gz.innerhtml = '【'+animales [(sy-4)%12]+']'; //Zodíaco
para (i = 0; i <42; i ++) {
SOBJ = eval ('sd'+ i);
lobj = eval ('ld'+ i);
SOBJ.ClassName = '';
sd = i - cld.firstweek;
if (sd> -1 && sd <cld.length) {// en la fecha
Sobj.innerhtml = Sd+1;
if (cld [sd] .istoday) {Sobj.style.color = '#9900ff';} // Color de hoy
else {Sobj.style.color = '';}
if (cld [sd] .day == 1) {// Muestra el mes lunar
lobj.innerhtml = '<b>' + (cld [sd] .Eseap? 'Leap': '') + cld [sd] .lmonth + 'mes' + (mes de mensajes (cld [sd] .lyear, cld [sd] .lmonth) == 29? 'pequeño': 'big') + '<b>';
}
else {lobj.innerhtml = cday (cld [sd] .day);} // show lunar day
var slfw = ssfw = null;
s = CLD [SD] .Solarfestival;
para (var ipp = 0; ipp <lftv.length; ipp ++) {// festival lunar lunar
if (parseInt (lftv [ipp] .substr (0,2)) == (cld [sd] .lmonth)) {
if (parseInt (lftv [ipp] .substr (2,4)) == (cld [sd] .day)) {
lobj.innerhtml = lftv [ipp] .substr (5);
Slfw = lftv [ipp] .substr (5);
}
}
if (12 == (CLD [SD] .lmonth)) {// juzga si es víspera de año nuevo o no
if (eve == (cld [sd] .day)) {lobj.innerhtml = "Nochevieja"; slfw = "Nochevieja";}
}
}
para (var ipp = 0; ipp <sftv.length; ipp ++) {// festival de calendario gregoriano
if (parseInt (sftv [ipp] .substr (0,2)) == (sm+1)) {
if (parseInt (sftv [ipp] .substr (2,4)) == (SD+1)) {
lobj.innerhtml = sftv [ipp] .substr (5);
Ssfw = sftv [ipp] .substr (5);
}
}
}
if ((sm+1) == 5) {// Día de la Madre
if (fat == 0) {
if ((sd+1) == 7) {ssfw = "día de la madre"; lobj.innerhtml = "día de la madre"}
}
else if (grasa <9) {
if ((sd+1) == ((7-gras) +8)) {ssfw = "día de la madre"; lobj.innerhtml = "día de la madre"}
}
}
if ((sm+1) == 6) {// Día del padre
if (mat == 0) {
if ((sd+1) == 14) {ssfw = "día del padre"; lobj.innerhtml = "día del padre"}
}
else if (mat <9) {
if ((sd+1) == ((7-mat) +15)) {ssfw = "día del padre"; lobj.innerhtml = "día del padre"}
}
}
if (s.length <= 0) {// Establezca el color del término solar
s = CLD [SD] .solarterms;
if (s.length> 0) s = s.fontcolor ('limegreen');
}
if (s.length> 0) {lobj.innerhtml = s; slfw = s;} // solar
if ((slfw! = null) && (ssfw! = null)) {
lobj.innerhtml = slfw+"/"+ssfw;
}
}
else {// no data
Sobj.innerhtml = '';
lobj.innerhtml = '';
}
}
}
// Al seleccionar el año y el mes en la lista desplegable, llame a la función personalizada DrawCld () para mostrar información relevante sobre el calendario gregoriano y el calendario lunar
function changeCld () {
var y, m;
y = cld.sy.selectedIndex+1900;
m = cld.sm.selectedIndex;
Drawcld (y, m);
}
// Use variables personalizadas para ahorrar el año, mes y día en el sistema actual
var hoy = nueva fecha ();
var ty = Today.getTlyEar ();
var tm = Today.getMonth ();
var td = Today.getDate ();
// Al abrir la página, muestre el año y el mes en curso en la lista desplegable, y llame a la función personalizada DrawCld () para mostrar información relevante sobre el calendario gregoriano y el calendario lunar.
función inicial () {
Cld.sy.selectedIndex = Ty-1900;
Cld.sm.selectedIndex = tm;
Drawcld (Ty, TM);
}
//->
</script>
<Body Onload = Initial ()>
<centro>
<Name de formulario = cld>
<Table>
<tr>
<Td align = middle>
<TABLE BORDER = 1 CellPadding = "0" CellPacing = "0" BorderCollark = "#ffffff" borderColor = "#ffffff" borderColorlight = "#eeeee">
<Tr bgcolor = "#006600">
<Td colspan = 7> <font color =#ffffff style = "font-size: 9pt"> calendario gregoriano
<Select name = sy onchange = changeCld () style = "font-size: 9pt">
<Script language = "javaScript">
para (i = 1900; i <2050; i ++) document.write ('<pection>'+i);
</script>
</Select> año <select name = sm onChange = changeCld () style = "font-size: 9pt">
<Script language = "javaScript">
para (i = 1; i <13; i ++) document.write ('<pection>'+i);
</script>
</elect> mes </font> <font color =#ffffff face = 宋 id = gz style = "font-size: 12pt"> </font> <br> </td>
</tr>
<Tr align = Middle BgColor =#e0e0e0>
<Td width = 54 style = "font-size: 9pt; relleno: 5pt;"> día </td>
<Td width = 54 style = "font-size: 9pt"> one </td>
<Td width = 54 style = "font-size: 9pt"> two </td>
<Td width = 54 style = "font-size: 9pt"> tres </td>
<Td width = 54 style = "font-size: 9pt"> cuatro </td>
<Td width = 54 style = "font-size: 9pt"> cinco </td>
<Td width = 54 style = "font-size: 9pt"> Six </td> </tr>
<Script language = "javaScript">
var gnum;
para (i = 0; i <6; i ++) {
document.write ('<tr align = center>');
para (j = 0; j <7; j ++) {
gnum = i*7+j;
document.write ('<td id = "gd' + gnum + '"> <font id = "sd' + gnum + '" size = 2 face = "Arial Black"');
if (j == 0) document.write ('color = rojo');
if (j == 6) document.write ('color =#000080');
document.write ('title = ""> </font> <br> <font id = "ld' + gnum + '" size = 2 style = "font-size: 9pt"> </font> </td>');
}
document.write ('</tr>');
}
</script>
</table>
</td>
</tr>
</table>
</form>
</Center>
</body>
</Html>
Muy raro, con efectos de calendario con festivales y términos solares y calendarios lunares. Espero que a tus amigos les guste.