สคริปต์ที่มีเทศกาลและปฏิทินจันทรคติ:
การคัดลอกรหัสมีดังนี้:
<html>
<head>
<meta http-equiv = "content-type" content = "text/html; charset = gb2312">>
<title> ปฏิทินที่มีปฏิทินจันทรคติ </title>
<ภาษาสคริปต์ = "JavaScript">
-
var lunarinfo = อาร์เรย์ใหม่ (
0x04bd8,0x04ae0,0x0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2
0x04ae0,0x0a5b6,0x0x0a4d0,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,0x0x0a950,0x0b557
0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0x0a9a8,0x0e950,0x06aa0
0x0aea6,0x0ab50,0x04b60,0x0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0
0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6
0x095b0,0x049b0,0x0a0a974,0x0a4b0,0x0b27a, 0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,
0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0
0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0ab7,0x025d0,0x092d0,0x0cab5
0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0x0a5b0,0x15176,0x052b0,0x0x0a930
0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530,
0x05AA0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0d45
0x0b5a0,0x056d0,0x0555b2,0x049b0,0x0a577,0x0x0a4b0,0x0x0a50,0x1b255,0x06d20,0x0ada0)
Var Solarmonth = New Array (31,28,31,30,31,30,31,31,31,30,31);
สัตว์ var = new Array ("Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake", "Horse", "Sheep", "Monkey", "Chicken", "Dog", "Pig");
Var Solarterm = New Array ("Little Cold", "Great Cold", "จุดเริ่มต้นของฤดูใบไม้ผลิ", "Rain Water", "Jingzhe", "Spring Equinox", "Qingming", "Rain Rain", "จุดเริ่มต้นของฤดูร้อน", "Man Little Man" น้ำค้าง "," Frost Descend "," Low Snow "," High Snow "," Winter Solstice ");
var sterminfo = ใหม่ อาร์เรย์ (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 = อาร์เรย์ใหม่ ('วัน', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Twelve');
var nstr2 = อาร์เรย์ใหม่ ('แรก', 'สิบ', 'ยี่สิบ', 'สามสิบ');
// เทศกาลปฏิทิน Gregorian
var sftv = อาร์เรย์ใหม่ (
"0101 วันปีใหม่"
"0214 วันวาเลนไทน์"
"0308 วันสตรี",
"0312 อาร์เบอร์เดย์",
"0315 วันสิทธิผู้บริโภค",
"0401 April Fool's Day"
"0501 วันแรงงาน"
"0504 วันเยาวชน",
"0512 วันพยาบาล"
"0601 วันเด็ก"
"0701 Party Founding Day",
"0801 วันกองทัพ",
"0910 วันครู",
"0928 การเกิดของขงจื๊อ"
"1001 วันชาติ",
"1006 วันผู้สูงอายุ",
"1024 วันแห่งสหประชาชาติ",
"1224 คริสต์มาสอีฟ",
"1225 คริสต์มาส")
// Lunar Lunar Festival
var lftv = อาร์เรย์ใหม่ (
"0101 ฤดูใบไม้ผลิเทศกาล",
"0115 เทศกาลแลนเทิร์น",
"0505 Dragon Boat Festival",
"0707 วันวาเลนไทน์จีน"
"0715 Zhongyuan Festival",
"0815 Mid-Autumn Festival",
"0909 เทศกาลคู่ที่เก้า"
"1208 Laba Festival",
"1224 ปีใหม่เล็ก ๆ น้อย ๆ ")
// กลับไปที่จำนวนวันทั้งหมดในปี y ของปฏิทินจันทรคติ
ฟังก์ชั่น Lyeardays (y) {
var i, sum = 348;
สำหรับ (i = 0x8000; i> 0x8; i >> = 1) sum+= (lunarinfo [y-1900] & i)? 1: 0;
return (sum+leapdays (y));
-
// กลับไปที่จำนวนวันในเดือนกระโดดของปีจันทรคติ y
ฟังก์ชั่น Leapdays (y) {
ถ้า (leapmonth (y)) กลับ ((Lunarinfo [Y-1900] & 0x10000)? 30: 29);
ผลตอบแทนอื่น (0);
-
// ตัดสินว่าเดือนในปฏิทินจันทรคติในปี y เป็นเดือนก้าวกระโดดไม่ใช่เดือนกระโดดเพื่อกลับไปที่ 0
ฟังก์ชั่น leapmonth (y) {
return (lunarinfo [Y-1900] & 0xf);
-
// กลับไปที่จำนวนวันทั้งหมดในปี y และเดือนของปฏิทินจันทรคติ
ฟังก์ชั่นวันจันทร์ (y, m) {
return ((Lunarinfo [Y-1900] & (0x10000 >> m))? 30:29);
-
// คำนวณวันที่จันทรคติของวันแรกของเดือนปัจจุบันและวันที่จันทรคติของวันแรกของวันแรกของปฏิทินจันทรคติ
ฟังก์ชั่น dianaday (objdate) {
var i, leap = 0, temp = 0;
VAR Ascordate = วันที่ใหม่ (1900,0,31);
VAR OFFSET = (OBJDATE - ตาม)/86400000;
this.daycyl = ออฟเซ็ต+40;
this.moncyl = 14;
สำหรับ (i = 1900; i <2050 && ออฟเซ็ต> 0; i ++) {
Temp = Lyeardays (i)
ชดเชย -= อุณหภูมิ;
this.moncyl += 12;
-
ถ้า (ชดเชย <0) {
ออฟเซ็ต += อุณหภูมิ;
ฉัน--;
this.moncyl -= 12;
-
this.year = i;
this.yearcyl = i-1864;
Leap = Leapmonth (i); // เดือนไหนที่กระโดด
this.isleap = false;
สำหรับ (i = 1; i <13 && ออฟเซ็ต> 0; i ++) {
if (leap> 0 && i == (leap+1) && this.isleap == false) {// กระโดดเดือน
--ฉัน; this.isleap = true; temp = leapdays (this.year);}
อื่น{
Temp = Mounddays (this.year, i);}
if (this.isleap == true && i == (leap+1)) this.isleap = false; // ปล่อยเดือนกระโดด
ชดเชย -= อุณหภูมิ;
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;}
ถ้า (ชดเชย <0) {ออฟเซ็ต+= temp;-i;-this.moncyl;}
this.month = i;
this.day = ชดเชย+1;
-
// กลับไปที่จำนวนวันในปี y + มกราคมของปฏิทินเกรกอเรียน
ฟังก์ชั่น Solardays (y, m) {
ถ้า (m == 1)
return (((y%4 == 0) && (y%100! = 0) || (y%400 == 0))? 29:28);
อื่น
return (solarmonth [m]);
-
// บันทึกวันที่ของปฏิทิน Gregorian และวันปฏิทินจันทรคติ
ฟังก์ชั่นคาลไลเมนต์ (Syear, Smonth, Sday, Week, Lyear, Lmonth, Lday, Isleap) {
this.istoday = false;
// ปฏิทิน Gregorian
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 = ''; // Lunar Festival
this.solarFestival = ''; // เทศกาล Gregorian
this.solarterms = ''; // แสงอาทิตย์
-
// กลับสู่ระยะเวลาสุริยจักรวาลที่ N ในปีที่หนึ่งถึงกี่วัน (เริ่มต้นจาก 0 Xiaohan)
ฟังก์ชั่น hesterm (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) {
ไขมัน = mat = 0;
var sdobj, ldobj, ly, lm, ld = 1, ll, lx = 0, tmp1, tmp2;
var ldpos = อาร์เรย์ใหม่ (3);
var n = 0;
var firstlm = 0;
SDOBJ = วันที่ใหม่ (y, m, 1); // วันที่ของวันแรกของเดือน
this.length = solardays (y, m); // จำนวนวันในเดือนปฏิทิน Gregorian
this.firstweek = sdobj.getday (); // วันใดของสัปดาห์ในวันที่ 1 ของเดือนปฏิทิน Gregorian
if ((m+1) == 5) {fat = sdobj.getday ()}
if ((m+1) == 6) {mat = sdobj.getday ()}
สำหรับ (var i = 0; i <this.length; i ++) {
if (ld> lx) {
SDOBJ = วันที่ใหม่ (y, m, i+1); // วันที่ของวันแรกของเดือน
ldobj = ใหม่ dianaday (sdobj); // ปฏิทินจันทรคติ
ly = ldobj.year; // ปีจันทรคติ
lm = ldobj.month; // เดือนจันทรคติ
ld = ldobj.day; // วันจันทรคติ
ll = ldobj.isleap; // คือเดือนปฏิทินจันทรคติกระโดดเดือน
lx = ll? Leapdays (LY): วันนี้ (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.firstweek)%7], ly, lm, ld ++, ll);
if ((i+this.firstweek)%7 == 0) {
นี่ [i] .color = 'สีแดง'; // วันอาทิตย์สี
-
-
// คำศัพท์แสงอาทิตย์
tmp1 = hesterm (y, m*2) -1;
tmp2 = hesterm (y, m*2+1) -1;
[tmp1] .solarterms = solarterm [m*2];
[tmp2] .solarterms = solarterm [m*2+1];
if ((this.firstweek+12)%7 == 5) // Black Friday
[12] .SolarFestival += 'Black Friday';
if (y == ty && m == tm) สิ่งนี้ [td-1] .istoday = true; //วันนี้
-
// แสดงวันที่ปฏิทินจันทรคติเป็นภาษาจีน
ฟังก์ชั่น cday (d) {
var s;
สวิตช์ (d) {
กรณีที่ 10:
S = 'วันที่สิบของเดือนจันทรคติแรก'; หยุดพัก;
กรณีที่ 20:
s = 'ยี่สิบ'; หยุดพัก;
หยุดพัก;
กรณีที่ 30:
s = 'สามสิบ'; หยุดพัก;
หยุดพัก;
ค่าเริ่มต้น:
s = nstr2 [math.floor (d/10)];
S += NSTR1 [D%10];
-
กลับมา;
-
var cld;
ฟังก์ชั่น DrawCld (SY, SM) {
var tf = true;
var p1 = p2 = "";
var i, sd, s, ขนาด;
CLD = ปฏิทินใหม่ (SY, SM);
gz.innerhtml = '【'+สัตว์ [(sy-4)%12]+']'; //ราศี
สำหรับ (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?
-
อื่น {lobj.innerhtml = cday (cld [sd] .lday);} // แสดงวันจันทรคติ
var slfw = ssfw = null;
S = CLD [SD] .SolarFestival;
สำหรับ (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);
-
-
ถ้า (12 == (cld [sd] .lmonth)) {// ตัดสินว่าเป็นวันส่งท้ายปีเก่าหรือไม่
if (eve == (cld [sd] .lday)) {lobj.innerhtml = "วันปีใหม่"; slfw = "วันปีใหม่";}
-
-
สำหรับ (var ipp = 0; ipp <sftv.length; ipp ++) {// เทศกาลปฏิทิน 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) {// วันแม่
ถ้า (fat == 0) {
if ((sd+1) == 7) {ssfw = "วันแม่"; lobj.innerhtml = "วันแม่"}
-
อื่นถ้า (ไขมัน <9) {
if ((sd+1) == ((7-fat) +8)) {ssfw = "วันแม่"; lobj.innerhtml = "วันแม่"}
-
-
if ((sm+1) == 6) {// วันพ่อ
ถ้า (mat == 0) {
if ((sd+1) == 14) {ssfw = "วันพ่อ"; lobj.innerhtml = "วันพ่อ"}
-
อื่นถ้า (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;} // solar
if ((slfw! = null) && (ssfw! = null)) {
lobj.innerhtml = slfw+"/"+ssfw;
-
-
else {// ไม่ใช่วันที่
sobj.innerhtml = '';
lobj.innerhtml = '';
-
-
-
// เมื่อเลือกปีและเดือนในรายการดรอปดาวน์ให้โทรหาฟังก์ชั่นที่กำหนดเอง drawcld () เพื่อแสดงข้อมูลที่เกี่ยวข้องเกี่ยวกับปฏิทิน Gregorian และปฏิทินจันทรคติ
ฟังก์ชั่น changecld () {
var y, m;
y = cld.sy.selectedIndex+1900;
m = cld.sm.SelectedIndex;
drawcld (y, m);
-
// ใช้ตัวแปรที่กำหนดเองเพื่อประหยัดทั้งปีเดือนและวันในระบบปัจจุบัน
var วันนี้ = วันที่ใหม่ ();
var ty = today.getlyear ();
var tm = วันนี้ getMonth ();
var td = วันนี้ getDate ();
// เมื่อเปิดหน้าแสดงปีและเดือนปัจจุบันในรายการดรอปดาวน์และโทรหาฟังก์ชั่นที่กำหนดเอง drawcld () เพื่อแสดงข้อมูลที่เกี่ยวข้องเกี่ยวกับปฏิทิน Gregorian และปฏิทินจันทรคติ
ฟังก์ชั่นเริ่มต้น () {
cld.sy.selectedIndex = ty-1900;
cld.sm.selectedIndex = tm;
drawcld (ty, tm);
-
-
</script>
<body onload = initial ()>
<enter>
<form name = cld>
<table>
<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"> Gregorian Calendar
<select name = sy onchange = changecld () style = "font-size: 9pt">
<ภาษาสคริปต์ = "JavaScript">
สำหรับ (i = 1900; i <2050; i ++) document.write ('<petion>'+i);
</script>
</select> ปี <select name = sm onchange = changecld () style = "font-size: 9pt">
<ภาษาสคริปต์ = "JavaScript">
สำหรับ (i = 1; i <13; i ++) document.write ('<petion>'+i);
</script>
</select> เดือน </font> <font color =#ffffff face = 宋 id = gz style = "ตัวอักษรขนาด: 12pt"> </font> <br> </td>
</tr>
<tr align = middle bgcolor =#e0e0e0>
<td width = 54 style = "font-size: 9pt; padding: 5pt;"> วัน </td>
<td width = 54 style = "font-size: 9pt"> one </td>
<td width = 54 style = "ตัวอักษรขนาด: 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> </tr>
<ภาษาสคริปต์ = "JavaScript">
var gnum;
สำหรับ (i = 0; i <6; i ++) {
document.write ('<tr align = center>');
สำหรับ (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>
</enter>
</body>
</html>
หายากมากด้วยเอฟเฟกต์ปฏิทินกับเทศกาลและคำศัพท์แสงอาทิตย์และปฏิทินจันทรคติ ฉันหวังว่าเพื่อนของคุณจะชอบมัน