Сценарии с фестивалями и лунными календарями:
Кода -копия выглядит следующим образом:
<html>
<голова>
<meta http-equiv = "content-type" content = "text/html; charset = gb2312">
<Название> календарь с лунным календарем </title>
<Script language = "javascript">
<!-
var lunarinfo = новый массив (
0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0x09ad0,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,0x153555,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,0x0a50,0x06b58,0x055c0,0x0AB60,0x096d5,0x092e0,
0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0xabb7,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 = новый массив (31,28,31,30,31,30,31,31,31,30,31);
var Animals = new Array («Rat», «Ox», «Tiger», «Кролик», «Дракон», «Змея», «Лошадь», «Овцы», «Обезьяна», «Цыпленка», «Собака», «Свинья»);
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 Роса "," Мороз спустится "," низкий снег "," высокий снег "," Зимний солнцестояние ");
var sterminfo = новый Массив (0,21208 42467 63836 85337,107014,128867,150921,173149 199 3343,285989 308563,331033,353350,375494,397447 419210 440795 462224 483532 504758);
var nstr1 = new Array («Day», «One», «два», «три», «четыре», «пять», «шесть», «семь», «восемь», «девять», «двенадцать»);
var nstr2 = new Array ('First', 'ten', 'Twenty', 'Thirty');
// Григорианский фестиваль календаря
var sftv = новый массив (
"0101 Новый год",
"0214 День святого Валентина",
"0308 Женский день",
"0312 День Арбор",
«0315 День прав потребителей»,
"0401 апрельский день дурака",
"0501 День труда",
"0504 Молодежный день",
"0512 День медсестер",
"0601 Детский день",
"0701 День основания вечеринки",
"0801 День армии",
"0910 День учителя",
«0928 Рождение Конфуция»,
"1001 Национальный день",
"1006 пожилых дней",
"1024 День Объединенных Наций",
"1224 Канун Рождества",
"1225 Рождество")
// Лунный лунный фестиваль
var lftv = новый массив (
"0101 Весенний фестиваль",
«Фестиваль фонаря 0115»,
"0505 Festival Dragon Boat Festival",
"0707 Китайский День святого Валентина",
"0715 фестиваль Чжунгуань",
"0815 Festival в середине осени",
"0909 Double Dinet Festival",
"1208 фестиваль Лаба",
"1224 Маленький Новый год")
// Возвращение к общему количеству дней в год лунного календаря
функция Lyeardays (y) {
var i, sum = 348;
for (i = 0x8000; i> 0x8; i >> = 1) sum+= (lunarinfo [y-1900] & i)? 1: 0;
return (sum+reapdays (y));
}
// Вернуться к количеству дней в прыжковом месяце лунного года y
Функция Leapdays (y) {
if (Leapmonth (y)) return ((lunarinfo [y-1900] & 0x10000)? 30: 29);
иначе вернуть (0);
}
// Судят, что месяц в лунном календаре в год Y - это шаг месяц, а не прыжок, чтобы вернуться к 0
Функция eapponth (y) {
return (lunarinfo [y-1900] & 0xf);
}
// Возвращение к общему количеству дней в году и месяце лунного календаря
Функция месяца (y, m) {
return ((lunarinfo [y-1900] & (0x10000 >> m))? 30:29);
}
// Рассчитайте лунную дату первого дня текущего месяца и лунную дату первого дня текущего месяца лунного календаря.
Функция Dianaday (objdate) {
var i, leap = 0, temp = 0;
var на основе = новая дата (1900,0,31);
var offset = (objdate - основан на)/86400000;
this.daycyl = offset+40;
this.moncyl = 14;
for (i = 1900; i <2050 && offset> 0; i ++) {
temp = lyeardays (i)
Offset -= temp;
this.moncyl += 12;
}
if (offset <0) {
offset += temp;
я--;
this.moncyl -= 12;
}
this.year = i;
this.yearcyl = I-1864;
Leap = Leapmonth (i); // какой месяц прыгает
this.isleap = false;
for (i = 1; i <13 && смещение> 0; i ++) {
if (leap> 0 && i == (Leap+1) && this.isleap == false) {// Leap Month
--я; this.isleap = true; temp = reapdays (this.year);}
еще{
temp = monthdays (this.year, i);}
if (this.isleap == true && i == (Leap+1)) this.isleap = false; // выпустить шаг месяц
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.onth = i;
this.day = offset+1;
}
// Вернуться к количеству дней в году y + январь Григорианского календаря
Функция solardays (y, m) {
if (m == 1)
return (((y%4 == 0) && (y%100! = 0) || (y%400 == 0))? 29:28);
еще
возврат (Солармонт [M]);
}
// Записать даты григорианского календаря и Лунного календарного дня
Функция Callelement (Syear, Smonth, Sday, Week, Lyear, Lmonth, Lday, Isleap) {
this.istoday = false;
// Григорианский календарь
this.syear = syear;
this.smonth = smonth;
this.sday = sday;
this.week = неделя;
// Лунный календарь
this.lyear = lyear;
this.lmonth = lmonth;
this.lday = lday;
this.isleap = isleap;
// Праздничные записи
this.lunarfestival = ''; // Лунный фестиваль
this.solarfestival = ''; // Григорианские фестивали
this.solarterms = ''; // Солнечная
}
// Вернуться к NTH Солнечный срок определенного года на сколько дней (начиная с 0 Xiaohan)
функция sterm (y, n) {
var offdate = новая дата ((31556925974,7*(Y-1900)+sterminfo [n]*60000)+date.utc (1900,0,6,2,5));
return (offdate.getutcdate ())
}
// Сохранить соответствующую информацию о Y Year M+ январь
var fat = mat = 9;
var eve = 0;
Функциональный календарь (y, m) {
fat = mat = 0;
var sdobj, ldobj, ly, lm, ld = 1, ll, lx = 0, tmp1, tmp2;
var ldpos = new Array (3);
var n = 0;
var Firstlm = 0;
sdobj = новая дата (y, m, 1); // дата первого дня месяца
this.length = solardays (y, m); // количество дней в григорианском календарном месяце
this.firstweek = sdobj.getday (); // Какой день недели на 1 -м григорианском календарном месяце
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 = новая дата (y, m, i+1); // дата первого дня месяца
ldobj = new Dianaday (SDOBJ); // Лунный календарь
ly = ldobj.year; // Лунный год
lm = ldobj.month; // Лунный месяц
ld = ldobj.day; // Лунный день
ll = ldobj.isleap; // это лечебный календарный месяц
lx = ll? Leapdays (ly): Monthdays (ly, lm); // последний день лунного месяца
if (lm == 12) {eve = lx}
if (n == 0) firstlm = lm;
ldpos [n ++] = i-ld+1;
}
Это [i] = новый Calelement (Y, M+1, I+1, NSTR1 [(i+this.firsteek)%7], Ly, LM, LD ++, LL);
if ((i+this.firstweek)%7 == 0) {
это [i] .color = 'red'; // воскресный цвет
}
}
// Солнечный солнечный термин
tmp1 = sterm (y, m*2) -1;
tmp2 = sterm (y, m*2+1) -1;
это [tmp1] .solarterms = солнечный баточный термин [M*2];
это [tmp2] .solarterms = солнечный батование [M*2+1];
if (this.firstweek+12)%7 == 5) // Черная пятница
это [12] .solarfestival += 'Черная пятница';
if (y == ty && m == tm) это [td-1] .istoday = true; //Сегодня
}
// показать дату лунного календаря на китайском языке
функция cday (d) {
var s;
Switch (d) {
Случай 10:
S = 'десятый день первого лунного месяца'; перерыв;
Случай 20:
s = 'двадцать'; перерыв;
перерыв;
Случай 30:
s = 'тридцать'; перерыв;
перерыв;
по умолчанию:
s = nstr2 [math.floor (d/10)];
S += NSTR1 [D%10];
}
возврат (ы);
}
var cld;
Функция traitcld (sy, sm) {
var tf = true;
var p1 = p2 = "";
var i, sd, s, size;
CLD = новый календарь (SY, SM);
Gz.innerhtml = '【'+животные [(sy-4)%12]+']'; // Зодиак
for (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) {// в дате
sobj.innerhtml = sd+1;
if (cld [sd] .istoday) {sobj.style.color = '#9900ff';} // Сегодняшний цвет
else {sobj.style.color = '';}
if (cld [sd] .lday == 1) {// показывать лунный месяц
lobj.innerhtml = '<b>' + (cld [sd] .isleap?
}
else {lobj.innerhtml = cday (cld [sd] .lday);} // Показать лунный день
var slfw = ssfw = null;
s = cld [sd] .solarfestival;
for (var ipp = 0; ipp <lftv.length; ipp ++) {// Лунный лунный фестиваль
if (parseint (lftv [ipp] .substr (0,2)) == (cld [sd] .lmonth)) {
if (parseint (lftv [ipp] .substr (2,4)) == (cld [sd] .lday)) {
lobj.innerhtml = lftv [ipp] .substr (5);
Slfw = lftv [ipp] .substr (5);
}
}
if (12 == (cld [sd] .lmonth)) {// судить, будь то Новый год или нет
if (eve == (cld [sd] .lday)) {lobj.innerhtml = "Новый год канун"; slfw = "Новый год канун";}
}
}
for (var ipp = 0; ipp <sftv.length; ipp ++) {// фестиваль календаря григорианского календаря
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) {// День матери
if (fat == 0) {
if ((sd+1) == 7) {ssfw = "День матери"; lobj.innerhtml = "День матери"}
}
иначе if (fat <9) {
if ((sd+1) == ((7-fat) +8)) {ssfw = "День матери"; lobj.innerhtml = "День матери"}
}
}
if ((sm+1) == 6) {// День отца
if (mat == 0) {
if ((sd+1) == 14) {ssfw = "День отца"; lobj.innerhtml = "День отца"}
}
иначе if (mat <9) {
if ((sd+1) == ((7-mat) +15)) {ssfw = "День отца"; lobj.innerhtml = "День отца"}
}
}
if (s.length <= 0) {// Установить цвет солнечного члена
s = cld [sd] .solarterms;
if (s.length> 0) s = s.fontcolor ('limegreen');
}
if (s.length> 0) {lobj.innerhtml = s; slfw = s;} // Солнечная
if ((slfw! = null) && (ssfw! = null)) {
lobj.innerhtml = slfw+"/"+ssfw;
}
}
else {// не дат
sobj.innerhtml = '';
lobj.innerhtml = '';
}
}
}
// При выборе года и месяца в раскрывающемся списке вызовите пользовательскую функцию DrawCld (), чтобы отобразить соответствующую информацию о григорианском календаре и лунном календаре
function ChangeCld () {
var y, m;
y = cld.sy.selectedIndex+1900;
m = cld.sm.selectedIndex;
DrawCld (y, m);
}
// Использовать пользовательские переменные, чтобы сэкономить год, месяц и день в текущей системе
var сегодня = новая дата ();
var ty = сегодня.getfyear ();
var tm = сегодня.getmonth ();
var td = сегодня.getDate ();
// При открытии страницы отобразите текущий год и месяц в раскрывающемся списке и вызовите пользовательскую функцию DrawCld (), чтобы отобразить соответствующую информацию о григорианском календаре и лунном календаре.
функция initial () {
Cld.sy.sectedIndex = ty-1900;
Cld.sm.selectedIndex = tm;
drawcld (ty, tm);
}
//->
</Script>
<Body Onload = initial ()>
<Центр>
<Form name = cld>
<Таблица>
<Tr>
<Td Align = Middle>
<Таблица границы = 1 cellpadding = "0" cellpacing = "0" bordercolordark = "#ffffff" bordercolor = "#ffffff" bordercolorlight = "#eeeee">
<Tr bgcolor = "#006600">
<Td colspan = 7> <font color =#ffffff style = "font-size: 9pt"> Грегорианский календарь
<Select name = sy onchange = ChangeCld () style = "font-size: 9pt">
<Script language = "javascript">
для (i = 1900; i <2050; i ++) document.write ('<ploice>'+i);
</Script>
</Select> Год <select name = sm onchange = ChangeCld () style = "font-size: 9pt">
<Script language = "javascript">
для (i = 1; i <13; i ++) document.write ('<pkinate>'+i);
</Script>
</Select> месяц </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;"> day </td>
<Td width = 54 style = "font-size: 9pt"> один </td>
<Td width = 54 style = "font-size: 9pt"> два </td>
<Td width = 54 style = "font-size: 9pt"> три </td>
<Td width = 54 style = "font-size: 9pt"> четыре </td>
<Td width = 54 style = "font-size: 9pt"> пять </td>
<Td width = 54 style = "font-size: 9pt"> Six </td> </tr>
<Script language = "javascript">
var gnum;
for (i = 0; i <6; i ++) {
document.write ('<tr align = center>');
for (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>');
}
</Script>
</Table>
</Td>
</Tr>
</Table>
</Form>
</Center>
</Body>
</Html>
Очень редко, с календарными эффектами с фестивалями, солнечными терминами и лунными календарями. Я надеюсь, что твоим друзьям это понравится.