Script dengan festival dan kalender bulan:
Salinan kode adalah sebagai berikut:
<Html>
<head>
<meta http-equiv = "konten tipe" content = "text/html; charset = gb2312">
<itement> Kalender dengan Kalender Lunar </iteme>
<Bahasa skrip = "javascript">
<!-
var lunarinfo = array baru (
0x04bd8.0x04ae0.0x0a570.0x054d5.0x0d260.0x0d950.0x1654.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.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,0x0aa50,0x1b255,0x06d20,0x0ada0)
var solarmont = array baru (31,28,31,30,31,30,31,31,31,30,31);
var hewan = array baru ("tikus", "sapi", "harimau", "kelinci", "naga", "ular", "kuda", "domba", "monyet", "ayam", "anjing", "babi");
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", "DEW Cold", "Frost Descend", "Low Snow", "High Snow", "Winter Solstice");
var stererminfo = baru Array (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 = array baru ('hari', 'satu', 'dua', 'tiga', 'empat', 'lima', 'enam', 'tujuh', 'delapan', 'sembilan', 'dua belas');
var nstr2 = array baru ('pertama', 'sepuluh', 'dua puluh', 'tiga puluh');
// Festival Kalender Gregorian
var sftv = array baru (
"0101 Hari Tahun Baru",
"0214 Hari Valentine",
"0308 Hari Wanita",
"0312 Hari Arbor",
"0315 Hari Hak Konsumen",
"0401 April Mop Day",
"0501 Hari Buruh",
"0504 Hari Pemuda",
"0512 Hari Perawat",
"0601 Hari Anak",
"0701 Party Founding Day",
"0801 Hari Angkatan Darat",
"0910 Hari Guru",
"0928 Konfusius 'Kelahiran",
"1001 Hari Nasional",
"1006 Hari Lansia",
"1024 Hari Perserikatan Bangsa -Bangsa",
"1224 Natal Malam",
"1225 Christmas")
// Festival Bulan Lunar
var lftv = array baru (
"0101 Spring Festival",
"Festival Lentera 0115",
"0505 Dragon Boat Festival",
"0707 Hari Valentine Cina",
"Festival 0715 Zhongyuan",
"0815 Festival Pertengahan Musim Gugur",
"0909 Double Ninth Festival",
"1208 LABA Festival",
"1224 Little New Year")
// kembali ke jumlah total hari di tahun y Kalender Lunar
fungsi lyeardays (y) {
var i, sum = 348;
untuk (i = 0x8000; i> 0x8; i >> = 1) jumlah+= (lunarinfo [y-1900] & i)? 1: 0;
return (jumlah+lompatan (y));
}
// kembali ke jumlah hari di bulan lompatan tahun lunar y y
Function Leapdays (y) {
if (leapmonth (y)) return ((lunarinfo [y-1900] & 0x10000)? 30: 29);
lain kembali (0);
}
// menilai bahwa bulan dalam kalender lunar di tahun y adalah bulan lompatan, bukan bulan lompatan untuk kembali ke 0
function leapmonth (y) {
return (lunarinfo [y-1900] & 0xf);
}
// Kembali ke Total Hari di Tahun Y dan Bulan Kalender Lunar
Fungsi Bulan Bulan (Y, M) {
return ((lunarinfo [y-1900] & (0x10000 >> m))? 30:29);
}
// Hitung tanggal lunar hari pertama bulan berjalan dan tanggal bulan dari hari pertama kalender bulan ini.
fungsi Dianaday (objDate) {
var i, lompatan = 0, temp = 0;
var berdasarkan tanggal baru (1900,0,31);
var offset = (objDate - mendasarkan)/86400000;
this.daycyl = offset+40;
this.moncyl = 14;
untuk (i = 1900; i <2050 && offset> 0; i ++) {
Temp = Lyeardays (i)
Offset -= Temp;
this.moncyl += 12;
}
if (offset <0) {
offset += temp;
Saya--;
this.moncyl -= 12;
}
this.year = i;
this.earcyl = I-1864;
LEAP = Leapmonth (i); // Bulan mana yang lompatan
this.isleap = false;
untuk (i = 1; i <13 && offset> 0; i ++) {
if (leap> 0 && i == (leap+1) && this.isleap == false) {// lompatan bulan
--Saya; this.isleap = true; temp = lompatan (this.year);}
kalau tidak{
temp = bulan bulan (this.year, i);}
if (this.isleap == true && i == (leap+1)) this.isleap = false; // Lepaskan Bulan Lompatan
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;
}
// Kembali ke jumlah hari di tahun y + Januari dari Kalender Gregorian
fungsi solardays (y, m) {
if (m == 1)
return (((y%4 == 0) && (y%100! = 0) || (y%400 == 0))? 29:28);
kalau tidak
return (solarmonth [m]);
}
// Catat tanggal Kalender Gregorian dan Hari Kalender Lunar
Fungsi Kalelemen (Syear, Smonth, Sday, Week, Lyear, Lonth, Lday, Isleap) {
this.istoday = false;
// Kalender Gregorian
this.syear = Syear;
this.sonth = smonth;
this.sday = sday;
this.week = minggu;
// Kalender Lunar
this.lyear = lyear;
this.lmonth = lonth;
this.lday = lday;
this.isleap = isleap;
// Catatan meriah
this.lunarfestival = ''; // Festival Lunar
this.solarFestival = ''; // Festival Gregorian
this.solarterms = ''; //Tenaga surya
}
// kembali ke masa matahari ke -n tahun tertentu hingga berapa hari (mulai dari 0 Xiaohan)
fungsi sterm (y, n) {
var offdate = Tanggal baru ((31556925974.7*(y-1900)+stererminfo [n]*60000)+date.utc (1900,0,6,2,5));
return (offdate.getutcdate ())
}
// Simpan informasi yang relevan tentang y tahun m+ Januari
var fat = mat = 9;
var eve = 0;
Kalender fungsi (y, m) {
lemak = mat = 0;
var sdobj, ldobj, ly, lm, ld = 1, ll, lx = 0, tmp1, tmp2;
var ldpos = array baru (3);
var n = 0;
var firstlm = 0;
sdobj = tanggal baru (y, m, 1); // tanggal hari pertama bulan itu
this.length = solardays (y, m); // Jumlah hari di bulan kalender Gregorian
this.firstweek = sdobj.getday (); // Hari apa dalam seminggu pada tanggal 1 bulan kalender Gregorian
if ((m+1) == 5) {fat = sdobj.getday ()}
if ((m+1) == 6) {mat = sdobj.getday ()}
untuk (var i = 0; i <this.length; i ++) {
if (ld> lx) {
sdobj = tanggal baru (y, m, i+1); // tanggal hari pertama bulan itu
ldobj = Dianaday baru (SDOBJ); // Kalender Lunar
ly = ldobj.year; // Tahun Lunar
lm = ldobj.month; // bulan lunar
ld = ldobj.day; // Hari Lunar
ll = ldobj.isleap; // adalah bulan lompatan kalender lunar
lx = ll? lompatan (ly): bulan bulan (ly, lm); // Hari terakhir bulan lunar
if (lm == 12) {eve = lx}
if (n == 0) firstlm = lm;
ldpos [n ++] = i-ld+1;
}
ini [i] = Kalelemen baru (y, m+1, i+1, nstr1 [(i+this.firstweek)%7], ly, lm, ld ++, ll);
if ((i+this.firstweek)%7 == 0) {
Ini [i] .color = 'Red'; // Warna Minggu
}
}
// istilah matahari surya
tmp1 = sterm (y, m*2) -1;
tmp2 = sterm (y, m*2+1) -1;
ini [tmp1] .solarterms = SolarTerm [m*2];
ini [tmp2] .solarterms = SolarTerm [m*2+1];
if ((this.firstweek+12)%7 == 5) // Black Friday
Ini [12] .solarFestival += 'Black Friday';
if (y == ty && m == tm) ini [td-1] .istoday = true; //Hari ini
}
// Tunjukkan tanggal kalender lunar dalam bahasa Cina
fungsi cday (d) {
var s;
switch (d) {
Kasus 10:
s = 'hari kesepuluh bulan lunar pertama'; merusak;
Kasus 20:
s = 'dua puluh'; merusak;
merusak;
Kasus 30:
S = 'Tiga Puluh'; merusak;
merusak;
bawaan:
s = nstr2 [math.floor (d/10)];
S += NSTR1 [D%10];
}
kembali;
}
var cld;
function drawcld (sy, sm) {
var tf = true;
var p1 = p2 = "";
Var I, SD, S, ukuran;
CLD = Kalender Baru (Sy, SM);
Gz.innerhtml = '【'+hewan [(sy-4)%12]+']'; // zodiak
untuk (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) {// di tanggal
sobj.innerhtml = sd+1;
if (cld [sd] .istoday) {sobj.style.color = '#9900ff';} // warna hari ini
else {sobj.style.color = '';}
if (cld [sd] .lday == 1) {// Tunjukkan bulan bulan
lobj.innerhtml = '<b>' + (cld [sd] .isleap? 'leap': '') + cld [sd] .lmonth + 'bulan' + (bulan bulan (cld [sd] .lyear, cld [sd] .lmanth) == 29? 'Small': 'Big') + '</sd].
}
else {lobj.innerhtml = cday (cld [sd] .lday);} // tunjukkan hari bulan
var slfw = ssfw = null;
s = cld [sd] .solarFestival;
untuk (var ipp = 0; ipp <lftv.length; ipp ++) {// lunar lunar festival
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)) {// menilai apakah itu malam tahun baru atau tidak
if (eve == (cld [sd] .lday)) {lobj.innerHtml = "Eve Tahun Baru"; slfw = "Eve Tahun Baru";}
}
}
untuk (var ipp = 0; ipp <sftv.length; ipp ++) {// Festival Kalender Gregorian
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) {// Hari Ibu
if (fat == 0) {
if ((sd+1) == 7) {ssfw = "hari ibu"; lobj.innerHtml = "Hari Ibu"}
}
lain jika (lemak <9) {
if ((sd+1) == ((7-fat) +8)) {ssfw = "Hari Ibu"; lobj.innerhtml = "Hari Ibu"}
}
}
if ((sm+1) == 6) {// Hari Ayah
if (mat == 0) {
if ((sd+1) == 14) {ssfw = "hari ayah"; lobj.innerHtml = "Hari Ayah"}
}
lain jika (mat <9) {
if ((sd+1) == ((7-mat) +15)) {ssfw = "Hari Ayah"; lobj.innerhtml = "Hari Ayah"}
}
}
if (s.length <= 0) {// atur warna istilah matahari
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;
}
}
lain {// non-date
sobj.innerhtml = '';
lobj.innerhtml = '';
}
}
}
// Saat memilih tahun dan bulan dalam daftar drop-down, hubungi Fungsi Kustom DrawCLD () untuk menampilkan informasi yang relevan tentang Kalender Gregorian dan Kalender Lunar
fungsi changeCld () {
var y, m;
y = cld.sy.selectedIndex+1900;
m = cld.sm.selectedIndex;
drawcld (y, m);
}
// Gunakan variabel khusus untuk menghemat tahun, bulan dan hari dalam sistem saat ini
var hari ini = tanggal baru ();
var ty = hari ini.getlyear ();
var tm = hari ini.getMonth ();
var td = hari ini.getDate ();
// Saat membuka halaman, tampilkan tahun dan bulan saat ini dalam daftar drop-down, dan hubungi Fungsi Kustom DrawCLD () untuk menampilkan informasi yang relevan tentang kalender Gregorian dan Kalender Lunar.
fungsi inisial () {
Cld.sy.selectedIndex = TY-1900;
Cld.sm.selectectedIndex = tm;
drawcld (ty, tm);
}
//->
</script>
<Body onload = initial ()>
<senter>
<Form name = cld>
<able>
<tr>
<Td align = middle>
<Tabel border = 1 cellpadding = "0" cellPacing = "0" boundColordark = "#ffffff" bordercolor = "#ffffff" bordercolorlight = "#eeeee">
<Tr bgcolor = "#006600">
<Td colspan = 7> <font color =#ffffff style = "font-size: 9pt"> Kalender Gregorian
<Pilih Nama = Sy Onchange = changeCld () style = "font-size: 9pt">
<Bahasa skrip = "javascript">
untuk (i = 1900; i <2050; i ++) document.write ('<pection>'+i);
</script>
</Pilih> tahun <pilih name = sm onchange = changeCld () style = "font-size: 9pt">
<Bahasa skrip = "javascript">
untuk (i = 1; i <13; i ++) document.write ('<pection>'+i);
</script>
</Pilih> bulan </font> <font color =#ffffff face = 宋 id = gz style = "font-size: 12pt"> </font> <br> </td>
</tr>
<Tr align = bgcolor tengah =#e0e0e0>
<Td width = 54 style = "font-size: 9pt; padding: 5pt;"> day </td>
<Td width = 54 style = "font-size: 9pt"> satu </td>
<Td width = 54 style = "font-size: 9pt"> dua </td>
<Td width = 54 style = "font-size: 9pt"> tiga </td>
<Td width = 54 style = "font-size: 9pt"> empat </td>
<Td width = 54 style = "font-size: 9pt"> lima </td>
<Td width = 54 style = "font-size: 9pt"> enam </td> </tr>
<Bahasa skrip = "javascript">
var gnum;
untuk (i = 0; i <6; i ++) {
document.write ('<tr align = center>');
untuk (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>
</boable>
</td>
</tr>
</boable>
</form>
</penter>
</body>
</html>
Sangat jarang, dengan efek kalender dengan festival dan istilah matahari dan kalender bulan. Saya harap teman Anda akan menyukainya.