Scripts avec des festivals et des calendriers lunaires:
La copie de code est la suivante:
<html>
<adal>
<meta http-equiv = "content-type" content = "text / html; charset = gb2312">
<Title> Calendrier avec calendrier lunaire </TITAL>
<Script linguisse = "javascript">
<! -
var lunarinfo = nouveau tableau (
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,0x0d4d4,0x0d250,0x0d558,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,0x0752,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,0x0aa50,0x1b255,0x06d20,0x0ada0)
var solarmonth = nouveau tableau (31,28,31,30,31,30,31,31,31,30,31);
var animaux = nouveau tableau ("rat", "ox", "tigre", "lapin", "dragon", "serpent", "cheval", "mouton", "singe", "poulet", "chien", "cochon");
var solarterm = nouveau tableau ("petit froid", "grand froid", "début du printemps", "eau de pluie", "Jingzhe", "Spring Equinox", "Qingming", "Summer Solar", "Début de l'été", "Little Man" Dew "," Frost Descender "," Low Snow "," High Snow "," Winter Solstice ");
var sterminfo = nouveau Array (0,21208 42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,26 3343,285989,308563,331033,353350,375494,39747 419210 440795 462224 483532.504758);
var nstr1 = new Array ('Day', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Twelve');
var nstr2 = new Array ('First', 'Ten', 'Twenty', 'Trente');
// Festival du calendrier grégorien
var sftv = nouveau tableau (
"0101 Nouvel An",
"0214 Saint-Valentin",
"0308 Journée des femmes",
"0312 ARBOR DAY",
"0315 Consumer Rights Day",
"0401 April Fool's Day",
"0501 Day du Travail",
"0504 Journée des jeunes",
"0512 Journée des infirmières",
"0601 Journée des enfants",
"0701 Journée de fondation de la fête",
"0801 Journée de l'armée",
"0910 Journée des enseignants",
"0928 Confucius 'naissance",
"1001 Journée nationale",
"1006 Journée des personnes âgées",
"1024 Journée des Nations Unies",
"1224 veille de Noël",
"1225 Noël")
// Festival lunaire lunaire
var lftv = nouveau tableau (
"0101 Spring Festival",
"0115 Lantern Festival",
"0505 Dragon Boat Festival",
"0707 la Saint-Valentin chinois",
"0715 Festival de Zhongyuan",
"0815 Festival de mi-automne",
"0909 Double Ninth Festival",
"1208 Laba Festival",
"1224 Little Nouvel An")
// Retour au nombre total de jours au cours de l'année y du calendrier lunaire
fonction lyeardays (y) {
var i, sum = 348;
pour (i = 0x8000; i> 0x8; i >> = 1) sum + = (lunarinfo [y-1900] & i)? 1: 0;
return (sum + leapdays (y));
}
// Revenez au nombre de jours dans le mois de lampe de l'année lunaire Y
fonction leapdays (y) {
if (leapmonth (y)) return ((Lunarinfo [y-1900] & 0x10000)? 30: 29);
else return (0);
}
// juge que le mois dans le calendrier lunaire de l'année y est un mois de saut, pas un mois de saut pour revenir à 0
fonction leapmonth (y) {
return (lunarinfo [y-1900] & 0xf);
}
// Retour au nombre total de jours de l'an et du mois du calendrier lunaire
fonction du mois (y, m) {
return ((lunarinfo [y-1900] & (0x10000 >> m))? 30:29);
}
// Calculez la date lunaire du premier jour du mois en cours et la date lunaire du premier jour du mois du calendrier lunaire.
fonction dianaday (objdate) {
var i, leap = 0, temp = 0;
Var-Basedate = nouvelle date (1900,0,31);
var offset = (objdate - basé) / 86400000;
this.dayCyl = offset + 40;
this.oncyl = 14;
pour (i = 1900; i <2050 && offset> 0; i ++) {
temp = lyeardays (i)
Offset - = temp;
this.oncyl + = 12;
}
if (offset <0) {
offset + = temp;
je--;
this.oncyl - = 12;
}
this. year = i;
this.yarcyl = i-1864;
leap = leapmonth (i); // Quel mois est leap
this.isleap = false;
pour (i = 1; i <13 && offset> 0; i ++) {
if (leap> 0 && i == (leap + 1) && this.isleap == false) {// leap mois
--je; this.isleap = true; temp = leapdays (this.year);}
autre{
temp = les jours du mois (ce.year, i);}
if (this.isleap == true && i == (leap + 1)) this.isleap = false; // Libérez le mois de saut
Offset - = temp;
if (this.isleap == false) this.moncyl ++;
}
if (offset == 0 && leap> 0 && i == leap + 1)
if (this.isleap) {this.isleap = false;}
else {this.isleap = true; - i; - this.moncyl;}
if (offset <0) {offset + = temp; - i; - this.moncyl;}
this.month = i;
this.day = offset + 1;
}
// Revenez au nombre de jours de l'année y + janvier du calendrier grégorien
fonction Solardays (y, m) {
si (m == 1)
return (((y% 4 == 0) && (y% 100! = 0) || (y% 400 == 0))? 29:28);
autre
retour (solarmonth [m]);
}
// Enregistrez les dates du calendrier grégorien et du jour du calendrier lunaire
fonction Calement (Syear, Smonth, Sday, Week, Lyear, Lmonth, Lday, Isleap) {
this.istoday = false;
//Calendrier grégorien
this.syear = syear;
this.smonth = smonth;
this.sday = sday;
this.week = semaine;
// Calendrier lunaire
this.lyear = lyear;
this.lmonth = lmonth;
this.lday = lday;
this.isleap = isleap;
// Records festifs
this.Lunarfestival = ''; // Festival lunaire
this.solarfestival = ''; // festivals grégoriens
this.solarterms = ''; //Solaire
}
// Retour à la nième trimestre solaire d'une certaine année à combien de jours (à partir de 0 Xiaohan)
fonction sterm (y, n) {
var offdate = new Date ((31556925974.7 * (y-1900) + sterminfo [n] * 60000) + date.utc (1900,0,6,2,5));
return (offdate.getUtcDate ())
}
// Enregistrer les informations pertinentes sur y an m + janvier
var fat = mat = 9;
var eve = 0;
Calendrier de fonction (y, m) {
gras = mat = 0;
var sdobj, ldobj, ly, lm, ld = 1, ll, lx = 0, tmp1, tmp2;
var ldpos = nouveau tableau (3);
var n = 0;
var firstlm = 0;
sdobj = nouvelle date (y, m, 1); // Date du premier jour du mois
this.length = solardays (y, m); // le nombre de jours dans le mois civil grégorien
this.firstweek = sdobj.getDay (); // Quel jour de la semaine le 1er du mois civil grégorien
if ((m + 1) == 5) {fat = sdobj.getDay ()}
if ((m + 1) == 6) {Mat = sdobj.getDay ()}
for (var i = 0; i <this.length; i ++) {
if (ld> lx) {
sdobj = new Date (y, m, i + 1); // Date du premier jour du mois
ldobj = new Dianaday (sdObj); // Calendrier lunaire
ly = ldobj.year; // année lunaire
lm = ldobj.month; //Mois lunaire
ld = ldobj.day; // jour lunaire
ll = ldobj.isleap; // est le mois de saut du calendrier lunaire
lx = ll? Leapdays (ly): mois de mois (ly, lm); // le dernier jour du mois lunaire
if (lm == 12) {eve = lx}
if (n == 0) firstlm = lm;
ldpos [n ++] = i-ld + 1;
}
this [i] = new Calement (y, m + 1, i + 1, nstr1 [(i + this.firstweek)% 7], ly, lm, ld ++, ll);
if ((i + this.firstweek)% 7 == 0) {
ce [i] .color = 'red'; // Couleur du dimanche
}
}
// terme solaire solaire
tmp1 = sterm (y, m * 2) -1;
tmp2 = sterm (y, m * 2 + 1) -1;
Ce [TMP1] .Solarterms = Solarterm [M * 2];
Ce [TMP2] .Solarterms = solaire [M * 2 + 1];
if ((this.firstweek + 12)% 7 == 5) // Black Friday
Ce [12] .Solarfestival + = 'Black Friday';
if (y == ty && m == tm) this [td-1] .istoday = true; //Aujourd'hui
}
// montre la date du calendrier lunaire en chinois
fonction Cday (d) {
var s;
commutateur (d) {
Cas 10:
S = 'Dixième jour du premier mois lunaire'; casser;
Cas 20:
s = 'vingt'; casser;
casser;
Cas 30:
s = 'trente'; casser;
casser;
défaut:
s = nstr2 [math.floor (d / 10)];
s + = nstr1 [d% 10];
}
retour (s);
}
var cld;
fonction drawcld (sy, sm) {
var tf = true;
var p1 = p2 = "";
var i, sd, s, taille;
CLD = nouveau calendrier (sy, sm);
Gz.innerhtml = '【' + animaux [(sy-4)% 12] + ']'; //Zodiaque
pour (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) {// dans la date
sobj.innerhtml = sd + 1;
if (cld [sd] .istoday) {sobj.style.color = '# 9900ff';} // couleur d'aujourd'hui
else {sobj.style.color = '';}
if (cld [sd] .lday == 1) {// Affiche le mois lunaire
lobj.innerhtml = '<b>' + (cld [sd] .ispeap? 'leap': '') + cld [sd] .lmonth + 'mois' + (le mois (cld [sd] .lyear, cld [sd] .lmonth) == 29? 'Small': 'big') + '</ b>';
}
else {lobj.innerhtml = cday (cld [sd] .lday);} // montre le jour lunaire
var slfw = ssfw = null;
S = CLD [SD] .Solarfestival;
pour (var ipp = 0; ipp <lftv.length; ipp ++) {// festival lunaire lunaire
if (paSeInt (lftv [ipp] .substr (0,2)) == (cld [sd] .lmonth)) {
if (paSeInt (lftv [ipp] .substr (2,4)) == (cld [sd] .lday)) {
lobj.innerhtml = lftv [ipp] .substr (5);
Slfw = lftv [ipp] .substr (5);
}
}
if (12 == (cld [sd] .lmonth)) {// juger si c'est le Nouvel An ou non
if (eve == (cld [sd] .lday)) {lobj.innerhtml = "le réveillon du Nouvel An"; slfw = "le réveillon du Nouvel An";}
}
}
pour (var ipp = 0; ipp <sftv.length; ipp ++) {// Festival du calendrier grégorien
if (parseInt (sftv [ipp] .substr (0,2)) == (sm + 1)) {
if (paSeInt (sftv [ipp] .substr (2,4)) == (sd + 1)) {
lobj.innerhtml = sftv [ipp] .substr (5);
Ssfw = sftv [ipp] .substr (5);
}
}
}
if ((sm + 1) == 5) {// la fête des mères
if (fat == 0) {
if ((sd + 1) == 7) {ssfw = "fête des mères"; lobj.innerhtml = "fête des mères"}
}
else if (fat <9) {
if ((sd + 1) == ((7-fat) +8)) {ssfw = "Journée des mères"; lobj.innerhtml = "Journée des Mères"}
}
}
if ((sm + 1) == 6) {// la fête des pères
if (mat == 0) {
if ((sd + 1) == 14) {ssfw = "fête des pères"; lobj.innerhtml = "fête des pères"}}
}
else if (mat <9) {
if ((sd + 1) == ((7-mates) +15)) {ssfw = "jour de père"; lobj.innerhtml = "jour du père"}
}
}
if (s.Length <= 0) {// Définissez la couleur du terme solaire
S = CLD [SD] .Solarterms;
if (s.length> 0) s = s.fontcolor ('limegreen');
}
if (s.length> 0) {lobj.innerhtml = s; slfw = s;} // solaire
if ((slfw! = null) && (ssfw! = null)) {
lobj.innerhtml = slfw + "/" + ssfw;
}
}
else {// non-date
sobj.innerhtml = '';
lobj.innerhtml = '';
}
}
}
// Lors de la sélection de l'année et du mois dans la liste déroulante, appelez la fonction personnalisée DrawCLD () pour afficher des informations pertinentes sur le calendrier grégorien et le calendrier lunaire
function changeCld () {
var y, m;
y = cld.sy.selectedIndex + 1900;
m = cld.sm.selectedIndex;
drawcld (y, m);
}
// Utilisez des variables personnalisées pour économiser l'année, le mois et le jour dans le système actuel
var aujourd'hui = new Date ();
var Ty = Today.getlyar ();
var tm = aujourd'hui.getMonth ();
var td = aujourd'hui.getDate ();
// Lors de l'ouverture de la page, affichez l'année et le mois en cours dans la liste déroulante et appelez la fonction personnalisée DrawCld () pour afficher des informations pertinentes sur le calendrier grégorien et le calendrier lunaire.
fonction initial () {
Cld.sy.SelectedIndex = TY-1900;
Cld.sm.selectedIndex = tm;
DrawCld (Ty, TM);
}
// ->
</cript>
<Body onload = initial ()>
<Nenter>
<Form name = cld>
<ballage>
<tr>
<Td align = middle>
<Table Border = 1 CELLPADDING = "0" Cellpacing = "0" BorderColordark = "# ffffff" BorderColor = "# FFFFFF" BorderColorlight = "# Eeeee">
<Tr bgcolor = "# 006600">
<Td colspan = 7> <font color = # ffffff style = "font-size: 9pt"> calendrier grégorien
<Select name = sy onchange = changecld () style = "font-size: 9pt">
<Script linguisse = "javascript">
pour (i = 1900; i <2050; i ++) document.write ('<opoption>' + i);
</cript>
</ Select> an <Select Name = sm onChange = ChangeCld () style = "font-size: 9pt">
<Script linguisse = "javascript">
pour (i = 1; i <13; i ++) document.write ('<option>' + i);
</cript>
</lect> mois </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; padding: 5pt;"> jour </td>
<Td width = 54 style = "font-size: 9pt"> un </td>
<Td width = 54 style = "font-size: 9pt"> deux </td>
<Td width = 54 style = "font-size: 9pt"> trois </td>
<Td width = 54 style = "font-size: 9pt"> quatre </td>
<Td width = 54 style = "font-size: 9pt"> cinq </td>
<Td width = 54 style = "font-size: 9pt"> six </td> </tr>
<Script linguisse = "javascript">
var gnum;
pour (i = 0; i <6; i ++) {
Document.Write ('<tr align = Center>');
pour (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 = red');
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>');
}
</cript>
</ Table>
</td>
</tr>
</ Table>
</ form>
</ Center>
</docy>
</html>
Très rare, avec des effets de calendrier avec les festivals et les termes solaires et les calendriers lunaires. J'espère que vos amis l'aimeront.