農曆時間js代碼下載(js獲取農曆時間)

本文目錄一覽:

求一段JAVASCRIPT的時間顯示代碼,

HTMLHEADTITLE在線日曆/TITLE

META

content=”農曆; 陽曆; 月曆; 節日; 時區; 節氣; 八字; 干支; 生肖; gregorian solar; chinese lunar; calendar;”

name=keywords

META content=All name=robots

META http-equiv=Content-Type content=”text/html; charset=gb2312″

STYLEBODY {

FONT-SIZE: 9pt

}

TABLE {

FONT-SIZE: 9pt

}

/STYLE

SCRIPT language=JavaScript

function click() {

if (event.button==2) {alert(‘歡迎訪問農曆與陽曆對照陳年老黃曆’) }}

document.onmousedown=click

/SCRIPT

SCRIPT language=JavaScript

!–

/*****************************************************************************

日期資料

*****************************************************************************/

var lunarInfo=new Array(

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,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,0x0dd45,

0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0)

var solarMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);

var Gan=new Array(“甲”,”乙”,”丙”,”丁”,”戊”,”己”,”庚”,”辛”,”壬”,”癸”);

var Zhi=new Array(“子”,”丑”,”寅”,”卯”,”辰”,”巳”,”午”,”未”,”申”,”酉”,”戌”,”亥”);

var Animals=new Array(“鼠”,”牛”,”虎”,”兔”,”龍”,”蛇”,”馬”,”羊”,”猴”,”雞”,”狗”,”豬”);

var solarTerm = new Array(“小寒”,”大寒”,”立春”,”雨水”,”驚蟄”,”春分”,”清明”,”穀雨”,”立夏”,”小滿”,”芒種”,”夏至”,”小暑”,”大暑”,”立秋”,”處暑”,”白露”,”秋分”,”寒露”,”霜降”,”立冬”,”小雪”,”大雪”,”冬至”)

var sTermInfo = new Array(0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758)

var nStr1 = new Array(‘日’,’一’,’二’,’三’,’四’,’五’,’六’,’七’,’八’,’九’,’十’)

var nStr2 = new Array(‘初’,’十’,’廿’,’卅’,’ ‘)

var monthName = new Array(“1 月”,”2 月”,”3 月”,”4 月”,”5 月”,”6 月”,”7 月”,”8 月”,”9 月”,”10 月”,”11 月”,”12 月”);

//國曆節日 *表示放假日

var sFtv = new Array(

“0101*元旦”,

“0214 情人節”,

“0308 婦女節”,

“0312 植樹節”,

“0315 消費者權益日”,

“0401 愚人節”,

“0501 勞動節”,

“0504 青年節”,

“0512 護士節”,

“0601 兒童節”,

“0701 建黨節 香港回歸紀念”,

“0801 建軍節”,

“0808 父親節”,

“0909 毛澤東逝世紀念”,

“0910 教師節”,

“0928 孔子誕辰”,

“1001*國慶節”,

“1006 老人節”,

“1024 聯合國日”,

“1112 孫中山誕辰紀念”,

“1220 澳門回歸紀念”,

“1225 聖誕節”,

“1226 毛澤東誕辰紀念”)

//農曆節日 *表示放假日

var lFtv = new Array(

“0101*春節”,

“0115 元宵節”,

“0505 端午節”,

“0715 中元節”,

“0815 中秋節”,

“0909 重陽節”,

“1208 臘八節”,

“1224 小年”,

“0100*除夕”)

//某月的第幾個星期幾

var wFtv = new Array(

“0520 母親節”,

“0716 合作節”,

“0730 被奴役國家周”)

/*****************************************************************************

日期計算

*****************************************************************************/

//====================================== 傳回農曆 y年的總天數

function lYearDays(y) {

var i, sum = 348

for(i=0x8000; i0x8; i=1) sum += (lunarInfo[y-1900] i)? 1: 0

return(sum+leapDays(y))

}

//====================================== 傳回農曆 y年閏月的天數

function leapDays(y) {

if(leapMonth(y)) return((lunarInfo[y-1900] 0x10000)? 30: 29)

else return(0)

}

//====================================== 傳回農曆 y年閏哪個月 1-12 , 沒閏傳回 0

function leapMonth(y) {

return(lunarInfo[y-1900] 0xf)

}

//====================================== 傳回農曆 y年m月的總天數

function monthDays(y,m) {

return( (lunarInfo[y-1900] (0x10000m))? 30: 29 )

}

//====================================== 算出農曆, 傳入日期物件, 傳回農曆日期物件

// 該物件屬性有 .year .month .day .isLeap .yearCyl .dayCyl .monCyl

function Lunar(objDate) {

var i, leap=0, temp=0

var baseDate = new Date(1900,0,31)

var offset = (objDate – baseDate)/86400000

this.dayCyl = offset + 40

this.monCyl = 14

for(i=1900; i2050 offset0; i++) {

temp = lYearDays(i)

offset -= temp

this.monCyl += 12

}

if(offset0) {

offset += temp;

i–;

this.monCyl -= 12

}

this.year = i

this.yearCyl = i-1864

leap = leapMonth(i) //閏哪個月

this.isLeap = false

for(i=1; i13 offset0; i++) {

//閏月

if(leap0 i==(leap+1) this.isLeap==false)

{ –i; this.isLeap = true; temp = leapDays(this.year); }

else

{ 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 leap0 i==leap+1)

if(this.isLeap)

{ this.isLeap = false; }

else

{ this.isLeap = true; –i; –this.monCyl;}

if(offset0){ offset += temp; –i; –this.monCyl; }

this.month = i

this.day = offset + 1

}

//==============================傳回陽曆 y年某m+1月的天數

function solarDays(y,m) {

if(m==1)

return(((y%4 == 0) (y%100 != 0) || (y%400 == 0))? 29: 28)

else

return(solarMonth[m])

}

//============================== 傳入 offset 傳回干支, 0=甲子

function cyclical(num) {

return(Gan[num%10]+Zhi[num%12])

}

//============================== 月曆屬性

function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {

this.isToday = false;

//陽曆

this.sYear = sYear;

this.sMonth = sMonth;

this.sDay = sDay;

this.week = week;

//農曆

this.lYear = lYear;

this.lMonth = lMonth;

this.lDay = lDay;

this.isLeap = isLeap;

//干支

this.cYear = cYear;

this.cMonth = cMonth;

this.cDay = cDay;

this.color = ”;

this.lunarFestival = ”; //農曆節日

this.solarFestival = ”; //陽曆節日

this.solarTerms = ”; //節氣

}

//===== 某年的第n個節氣為幾日(從0小寒起算)

function sTerm(y,n) {

var offDate = new Date( ( 31556925974.7*(y-1900) + sTermInfo[n]*60000 ) + Date.UTC(1900,0,6,2,5) )

return(offDate.getUTCDate())

}

//============================== 傳回月曆物件 (y年,m+1月)

function calendar(y,m) {

var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2

var lDPOS = new Array(3)

var n = 0

var firstLM = 0

sDObj = new Date(y,m,1) //當月一日日期

this.length = solarDays(y,m) //陽曆當月天數

this.firstWeek = sDObj.getDay() //陽曆當月1日星期幾

for(var i=0;ithis.length;i++) {

if(lDlX) {

sDObj = new Date(y,m,i+1) //當月一日日期

lDObj = new Lunar(sDObj) //農曆

lY = lDObj.year //農曆年

lM = lDObj.month //農曆月

lD = lDObj.day //農曆日

lL = lDObj.isLeap //農曆是否閏月

lX = lL? leapDays(lY): monthDays(lY,lM) //農曆當月最後一天

if(n==0) firstLM = lM

lDPOS[n++] = i-lD+1

}

//sYear,sMonth,sDay,week,

//lYear,lMonth,lDay,isLeap,

//cYear,cMonth,cDay

this[i] = new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7],

lY, lM, lD++, lL,

cyclical(lDObj.yearCyl) ,cyclical(lDObj.monCyl), cyclical(lDObj.dayCyl++) )

if((i+this.firstWeek)%7==0) this[i].color = ‘red’ //周日顏色

if((i+this.firstWeek)%14==13) this[i].color = ‘red’ //周休二日顏色

}

//節氣

tmp1=sTerm(y,m*2 )-1

tmp2=sTerm(y,m*2+1)-1

this[tmp1].solarTerms = solarTerm[m*2]

this[tmp2].solarTerms = solarTerm[m*2+1]

if(m==3) this[tmp1].color = ‘red’ //清明顏色

//陽曆節日

for(i in sFtv)

if(sFtv[i].match(/^(\d{2})(\d{2})([\s\*])(.+)$/))

if(Number(RegExp.$1)==(m+1)) {

this[Number(RegExp.$2)-1].solarFestival += RegExp.$4 + ‘ ‘

if(RegExp.$3==’*’) this[Number(RegExp.$2)-1].color = ‘red’

}

//月周節日

for(i in wFtv)

if(wFtv[i].match(/^(\d{2})(\d)(\d)([\s\*])(.+)$/))

if(Number(RegExp.$1)==(m+1)) {

tmp1=Number(RegExp.$2)

tmp2=Number(RegExp.$3)

this[((this.firstWeektmp2)?7:0) + 7*(tmp1-1) + tmp2 – this.firstWeek].solarFestival += RegExp.$5 + ‘ ‘

}

//農曆節日

for(i in lFtv)

if(lFtv[i].match(/^(\d{2})(.{2})([\s\*])(.+)$/)) {

tmp1=Number(RegExp.$1)-firstLM

if(tmp1==-11) tmp1=1

if(tmp1 =0 tmp1n) {

tmp2 = lDPOS[tmp1] + Number(RegExp.$2) -1

if( tmp2 = 0 tmp2this.length) {

this[tmp2].lunarFestival += RegExp.$4 + ‘ ‘

if(RegExp.$3==’*’) this[tmp2].color = ‘red’

}

}

}

//黑色星期五

if((this.firstWeek+12)%7==5)

this[12].solarFestival += ‘黑色星期五 ‘

//今日

if(y==tY m==tM) this[tD-1].isToday = true;

}

//====================== 中文日期

function cDay(d){

var s;

switch (d) {

case 10:

s = ‘初十’; break;

case 20:

s = ‘二十’; break;

break;

case 30:

s = ‘三十’; break;

break;

default :

s = nStr2[Math.floor(d/10)];

s += nStr1[d%10];

}

return(s);

}

///////////////////////////////////////////////////////////////////////////////

var cld;

function drawCld(SY,SM) {

var i,sD,s,size;

cld = new calendar(SY,SM);

if(SY1874 SY1909) yDisplay = ‘光緒’ + (((SY-1874)==1)?’元’:SY-1874)

if(SY1908 SY1912) yDisplay = ‘宣統’ + (((SY-1908)==1)?’元’:SY-1908)

if(SY1911 SY1950) yDisplay = ‘民國’ + (((SY-1911)==1)?’元’:SY-1911)

if(SY1949) yDisplay = ” + (((SY-1949)==1)?’元’:SY)

GZ.innerHTML = yDisplay +’年 農曆’ + cyclical(SY-1900+36) + ‘年   【’+Animals[(SY-4)%12]+’】’;

YMBG.innerHTML = ” ” + SY + “BR ” + monthName[SM];

for(i=0;i42;i++) {

sObj=eval(‘SD’+ i);

lObj=eval(‘LD’+ i);

sObj.className = ”;

sD = i – cld.firstWeek;

if(sD-1 sDcld.length) { //日期內

sObj.innerHTML = sD+1;

if(cld[sD].isToday) sObj.className = ‘todyaColor’; //今日顏色

sObj.style.color = cld[sD].color; //國定假日顏色

if(cld[sD].lDay==1) //顯示農曆月

lObj.innerHTML = ‘b’+(cld[sD].isLeap?’閏’:”) + cld[sD].lMonth + ‘月’ + (monthDays(cld[sD].lYear,cld[sD].lMonth)==29?’小’:’大’)+’/b’;

else //顯示農曆日

lObj.innerHTML = cDay(cld[sD].lDay);

s=cld[sD].lunarFestival;

if(s.length0) { //農曆節日

if(s.length6) s = s.substr(0, 4)+’…’;

s = s.fontcolor(‘red’);

}

else { //國曆節日

s=cld[sD].solarFestival;

if(s.length0) {

size = (s.charCodeAt(0)0 s.charCodeAt(0)128)?8:4;

if(s.lengthsize+2) s = s.substr(0, size)+’…’;

s = s.fontcolor(‘blue’);

}

else { //廿四節氣

s=cld[sD].solarTerms;

if(s.length0) s = s.fontcolor(‘limegreen’);

}

}

if(s.length0) lObj.innerHTML = s;

}

else { //非日期

sObj.innerHTML = ”;

lObj.innerHTML = ”;

}

}

}

function changeCld() {

var y,m;

y=CLD.SY.selectedIndex+1900;

m=CLD.SM.selectedIndex;

drawCld(y,m);

}

function pushBtm(K) {

switch (K){

case ‘YU’ :

if(CLD.SY.selectedIndex0) CLD.SY.selectedIndex–;

break;

case ‘YD’ :

if(CLD.SY.selectedIndex149) CLD.SY.selectedIndex++;

break;

case ‘MU’ :

if(CLD.SM.selectedIndex0) {

CLD.SM.selectedIndex–;

}

else {

CLD.SM.selectedIndex=11;

if(CLD.SY.selectedIndex0) CLD.SY.selectedIndex–;

}

break;

case ‘MD’ :

if(CLD.SM.selectedIndex11) {

CLD.SM.selectedIndex++;

}

else {

CLD.SM.selectedIndex=0;

if(CLD.SY.selectedIndex149) CLD.SY.selectedIndex++;

}

break;

default :

CLD.SY.selectedIndex=tY-1900;

CLD.SM.selectedIndex=tM;

}

changeCld();

}

var Today = new Date();

var tY = Today.getFullYear();

var tM = Today.getMonth();

var tD = Today.getDate();

//////////////////////////////////////////////////////////////////////////////

var width = “130”;

var offsetx = 2;

var offsety = 16;

var x = 0;

var y = 0;

var snow = 0;

var sw = 0;

var cnt = 0;

var dStyle;

document.onmousemove = mEvn;

//顯示詳細日期資料

function mOvr(v) {

var s,festival;

var sObj=eval(‘SD’+ v);

var d=sObj.innerHTML-1;

//sYear,sMonth,sDay,week,

//lYear,lMonth,lDay,isLeap,

//cYear,cMonth,cDay

if(sObj.innerHTML!=”) {

sObj.style.cursor = ‘s-resize’;

if(cld[d].solarTerms == ” cld[d].solarFestival == ” cld[d].lunarFestival == ”)

festival = ”;

else

festival = ‘TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=”#CCFFCC”TRTD’+

‘FONT COLOR=”#000000″ STYLE=”font-size:9pt;”‘+cld[d].solarTerms + ‘ ‘ + cld[d].solarFestival + ‘ ‘ + cld[d].lunarFestival+’/FONT/TD’+

‘/TR/TABLE’;

s= ‘TABLE WIDTH=”130″ BORDER=0 CELLPADDING=”2″ CELLSPACING=0 BGCOLOR=”#000066″TRTD’ +

‘TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0TRTD ALIGN=”right”FONT COLOR=”#ffffff” STYLE=”font-size:9pt;”‘+

cld[d].sYear+’ 年 ‘+cld[d].sMonth+’ 月 ‘+cld[d].sDay+’ 日br星期’+cld[d].week+’br’+

‘font color=”violet”農曆’+(cld[d].isLeap?’閏 ‘:’ ‘)+cld[d].lMonth+’ 月 ‘+cld[d].lDay+’ 日/fontbr’+

‘font color=”yellow”‘+cld[d].cYear+’年 ‘+cld[d].cMonth+’月 ‘+cld[d].cDay + ‘日/font’+

‘/FONT/TD/TR/TABLE’+ festival +’/TD/TR/TABLE’;

document.all[“detail”].innerHTML = s;

if (snow == 0) {

dStyle.left = x+offsetx-(width/2);

dStyle.top = y+offsety;

dStyle.visibility = “visible”;

snow = 1;

}

}

}

//清除詳細日期資料

function mOut() {

if ( cnt = 1 ) { sw = 0 }

if ( sw == 0 ) { snow = 0; dStyle.visibility = “hidden”;}

else cnt++;

}

//取得位置

function mEvn() {

x=event.x;

y=event.y;

if (document.body.scrollLeft)

{x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}

if (snow){

dStyle.left = x+offsetx-(width/2)

dStyle.top = y+offsety

}

}

///////////////////////////////////////////////////////////////////////////

function changeTZ() {

CITY.innerHTML = CLD.TZ.value.substr(6)

setCookie(“TZ”,CLD.TZ.selectedIndex)

}

function tick() {

var today

today = new Date()

Clock.innerHTML = today.toLocaleString().replace(/(年|月)/g, “/”).replace(/日/, “”);

Clock.innerHTML = TimeAdd(today.toGMTString(), CLD.TZ.value)

window.setTimeout(“tick()”, 1000);

}

function setCookie(name, value) {

var today = new Date()

var expires = new Date()

expires.setTime(today.getTime() + 1000*60*60*24*365)

document.cookie = name + “=” + escape(value) + “; expires=” + expires.toGMTString()

}

function getCookie(Name) {

var search = Name + “=”

if(document.cookie.length 0) {

offset = document.cookie.indexOf(search)

if(offset != -1) {

offset += search.length

end = document.cookie.indexOf(“;”, offset)

if(end == -1) end = document.cookie.length

return unescape(document.cookie.substring(offset, end))

}

else return “”

}

}

/////////////////////////////////////////////////////////

function initial() {

dStyle = detail.style;

CLD.SY.selectedIndex=tY-1900;

CLD.SM.selectedIndex=tM;

drawCld(tY,tM);

CLD.TZ.selectedIndex=getCookie(“TZ”);

changeTZ();

tick();

}

//–

/SCRIPT

SCRIPT language=VBScript

!–

‘===== 算世界時間

Function TimeAdd(UTC,T)

Dim PlusMinus, DST, y

If Left(T,1)=”-” Then PlusMinus = -1 Else PlusMinus = 1

UTC=Right(UTC,Len(UTC)-5)

UTC=Left(UTC,Len(UTC)-4)

y = Year(UTC)

TimeAdd=DateAdd(“n”, (Cint(Mid(T,2,2))*60 + Cint(Mid(T,4,2))) * PlusMinus, UTC)

‘美國日光節約期間: 4月第一個星期日00:00 至 10月最後一個星期日00:00

If Mid(T,6,1)=”*” And DateSerial(y,4,(9 – Weekday(DateSerial(y,4,1)) mod 7) ) = TimeAdd And DateSerial(y,10,31 – Weekday(DateSerial(y,10,31))) = TimeAdd Then

TimeAdd=CStr(DateAdd(“h”, 1, TimeAdd))

tSave.innerHTML = “R”

Else

tSave.innerHTML = “”

End If

TimeAdd = CStr(TimeAdd)

End Function

‘–

/SCRIPT

STYLE.todyaColor {

BACKGROUND-COLOR: aqua

}

/STYLE

META content=”Microsoft FrontPage 4.0″ name=GENERATOR/HEAD

BODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=initial()

TABLE height=6 cellSpacing=0 cellPadding=0 width=400 align=center border=0

TBODY/TBODY/TABLE

SCRIPT language=JavaScript!–

if(navigator.appName == “Netscape” || parseInt(navigator.appVersion) 4)

document.write(“h1你的瀏覽器無法執行此程序。/h1此程序在 IE4 以後的版本才能執行!!”)

//–/SCRIPT

DIV id=detail style=”POSITION: absolute”/DIV

CENTER

FORM name=CLD

TABLE

TBODY

TR

BRBR

TD vAlign=top align=middleFONT color=#008888 size=2

SCRIPT language=JavaScript

var enabled = 0; today = new Date();

var day; var date;

if(today.getDay()==0) day = “星期日”

if(today.getDay()==1) day = “星期一”

if(today.getDay()==2) day = “星期二”

if(today.getDay()==3) day = “星期三”

if(today.getDay()==4) day = “星期四”

if(today.getDay()==5) day = “星期五”

if(today.getDay()==6) day = “星期六”

document.fgColor = “000000”;

/SCRIPT

/FONTBRBRFONT style=”FONT-SIZE: 9pt” size=2當地時間:/FONTBRFONT

id=Clock face=Arial color=#660080 size=4 align=”center”/FONT

P!–時區 *表示自動調整為日光節約時間–FONT style=”FONT-SIZE: 9pt” size=2SELECT

style=”FONT-SIZE: 9pt” onchange=changeTZ() name=TZ OPTION

value=”+0800 北京、重慶、黑龍江” selected中國OPTION value=”+0800 台灣、香港、新加坡”台北OPTION

value=”-1200 安尼威土克、瓜甲蘭” 國際換日線OPTION

value=”-1100 中途島、薩摩亞群島”薩摩亞OPTION value=”-1000 夏威夷”夏威夷OPTION

value=-0900*阿拉斯加阿拉斯加OPTION value=-0800*太平洋時間(美加)、提亞納太平洋OPTION

value=”-0700 亞歷桑那”美國山區OPTION value=-0700*山區時間(美加)美加山區OPTION

value=-0600*薩克其萬(加拿大)加拿大中部OPTION value=-0600*墨西哥市、塔克西卡帕墨西哥OPTION

value=-0600*中部時間(美加)美加中部OPTION value=-0500*波哥大

農曆轉陽曆JS代碼

星座……這中插件還真沒見過,你可以上資源站去找類似的來改改

高手幫解決一個JS顯示農曆時間代碼錯誤問題,真的很謝謝!

function RunGLNL(){

var today=new Date();

var d=new Array(“星期日”,”星期一”,”星期二”,”星期三”,”星期四”,”星期五”,”星期六”);

var DDDD=(today.getYear()100 ?

today.getYear()+1900:today.getYear())+”年”+(today.getMonth()+1)+”月”+today.getDate()+”日”;

DDDD = DDDD + ” ” + d[today.getDay()];

DDDD = DDDD+ ” ” + (CnDateofDateStr(today));

//DDDD = DDDD+ ” ” + SolarTerm(today);

document.write(DDDD);

}

function DaysNumberofDate(DateGL){

return parseInt((Date.parse(DateGL)-Date.parse(DateGL.getYear()+”/1/1″))/86400000)+1;

}

function CnDateofDate(DateGL){

var CnData=new Array(

0x16,0x2a,0xda,0x00,0x83,0x49,0xb6,0x05,0x0e,0x64,0xbb,0x00,0x19,0xb2,0x5b,0x00,

0x87,0x6a,0x57,0x04,0x12,0x75,0x2b,0x00,0x1d,0xb6,0x95,0x00,0x8a,0xad,0x55,0x02,

0x15,0x55,0xaa,0x00,0x82,0x55,0x6c,0x07,0x0d,0xc9,0x76,0x00,0x17,0x64,0xb7,0x00,

0x86,0xe4,0xae,0x05,0x11,0xea,0x56,0x00,0x1b,0x6d,0x2a,0x00,0x88,0x5a,0xaa,0x04,

0x14,0xad,0x55,0x00,0x81,0xaa,0xd5,0x09,0x0b,0x52,0xea,0x00,0x16,0xa9,0x6d,0x00,

0x84,0xa9,0x5d,0x06,0x0f,0xd4,0xae,0x00,0x1a,0xea,0x4d,0x00,0x87,0xba,0x55,0x04

);

var CnMonth=new Array();

var CnMonthDays=new Array();

var CnBeginDay;

var LeapMonth;

var Bytes=new Array();

var I;

var CnMonthData;

var DaysCount;

var CnDaysCount;

var ResultMonth;

var ResultDay;

var yyyy=DateGL.getYear();

var mm=DateGL.getMonth()+1;

var dd=DateGL.getDate();

if(yyyy100) yyyy+=1900;

if ((yyyy 1997) || (yyyy 2020)){

return 0;

}

Bytes[0] = CnData[(yyyy – 1997) * 4];

Bytes[1] = CnData[(yyyy – 1997) * 4 + 1];

Bytes[2] = CnData[(yyyy – 1997) * 4 + 2];

Bytes[3] = CnData[(yyyy – 1997) * 4 + 3];

if ((Bytes[0] 0x80) != 0) {CnMonth[0] = 12;}

else {CnMonth[0] = 11;}

CnBeginDay = (Bytes[0] 0x7f);

CnMonthData = Bytes[1];

CnMonthData = CnMonthData 8;

CnMonthData = CnMonthData | Bytes[2];

LeapMonth = Bytes[3];

for (I=15;I=0;I–){

CnMonthDays[15 – I] = 29;

if (((1 I) CnMonthData) != 0 ){

CnMonthDays[15 – I]++;}

if (CnMonth[15 – I] == LeapMonth ){

CnMonth[15 – I + 1] = – LeapMonth;}

else{

if (CnMonth[15 – I] 0 ){CnMonth[15 – I + 1] = – CnMonth[15 – I] + 1;}

else {CnMonth[15 – I + 1] = CnMonth[15 – I] + 1;}

if (CnMonth[15 – I + 1] 12 ){ CnMonth[15 – I + 1] = 1;}

}

}

DaysCount = DaysNumberofDate(DateGL) – 1;

if (DaysCount = (CnMonthDays[0] – CnBeginDay)){

if ((yyyy 1901) (CnDateofDate(new Date((yyyy – 1)+”/12/31″)) 0)){

ResultMonth = – CnMonth[0];}

else {ResultMonth = CnMonth[0];}

ResultDay = CnBeginDay + DaysCount;

}

else{

CnDaysCount = CnMonthDays[0] – CnBeginDay;

I = 1;

while ((CnDaysCount DaysCount) (CnDaysCount + CnMonthDays[I] DaysCount)){

CnDaysCount+= CnMonthDays[I];

I++;

}

ResultMonth = CnMonth[I];

ResultDay = DaysCount – CnDaysCount;

}

if (ResultMonth 0){

return ResultMonth * 100 + ResultDay;}

else{return ResultMonth * 100 – ResultDay;}

}

function CnYearofDate(DateGL){

var YYYY=DateGL.getYear();

var MM=DateGL.getMonth()+1;

var CnMM=parseInt(Math.abs(CnDateofDate(DateGL))/100);

if(YYYY100) YYYY+=1900;

if(CnMMMM) YYYY–;

YYYY-=1864;

return CnEra(YYYY)+”年”;

}

function CnMonthofDate(DateGL){

var CnMonthStr=new Array(“零”,”正”,”二”,”三”,”四”,”五”,”六”,”七”,”八”,”九”,”十”,”十一”,”臘”);

var Month;

Month = parseInt(CnDateofDate(DateGL)/100);

if (Month 0){return “閏” + CnMonthStr[-Month] + “月”;}

else{return CnMonthStr[Month] + “月”;}

}

function CnDayofDate(DateGL){

var CnDayStr=new Array(“零”,

“初一”, “初二”, “初三”, “初四”, “初五”,

“初六”, “初七”, “初八”, “初九”, “初十”,

“十一”, “十二”, “十三”, “十四”, “十五”,

“十六”, “十七”, “十八”, “十九”, “二十”,

“廿一”, “廿二”, “廿三”, “廿四”, “廿五”,

“廿六”, “廿七”, “廿八”, “廿九”, “三十”);

var Day;

Day = (Math.abs(CnDateofDate(DateGL)))%100;

return CnDayStr[Day];

}

function DaysNumberofMonth(DateGL){

var MM1=DateGL.getYear();

MM1100 ? MM1+=1900:MM1;

var MM2=MM1;

MM1+=”/”+(DateGL.getMonth()+1);

MM2+=”/”+(DateGL.getMonth()+2);

MM1+=”/1″;

MM2+=”/1″;

return parseInt((Date.parse(MM2)-Date.parse(MM1))/86400000);

}

function CnEra(YYYY){

var Tiangan=new Array(“甲”,”乙”,”丙”,”丁”,”戊”,”己”,”庚”,”辛”,”壬”,”癸”);

//var Dizhi=new Array(“子(鼠)”,”丑(牛)”,”寅(虎)”,”卯(兔)”,”辰(龍)”,”巳(蛇)”,

//”午(馬)”,”未(羊)”,”申(猴)”,”酉(雞)”,”戌(狗)”,”亥(豬)”);

var Dizhi=new Array(“子”,”丑”,”寅”,”卯”,”辰”,”巳”,”午”,”未”,”申”,”酉”,”戌”,”亥”);

return Tiangan[YYYY%10]+Dizhi[YYYY%12];

}

function CnDateofDateStr(DateGL){

if(CnMonthofDate(DateGL)==”零月”) return “ 請調整您的計算機日期!”;

else return “農曆:”+CnYearofDate(DateGL)+ ” ” + CnMonthofDate(DateGL) + CnDayofDate(DateGL);

}

function SolarTerm(DateGL){

var SolarTermStr=new Array(

“小寒”,”大寒”,”立春”,”雨水”,”驚蟄”,”春分”,

“清明”,”穀雨”,”立夏”,”小滿”,”芒種”,”夏至”,

“小暑”,”大暑”,”立秋”,”處暑”,”白露”,”秋分”,

“寒露”,”霜降”,”立冬”,”小雪”,”大雪”,”冬至”);

var DifferenceInMonth=new Array(

1272060,1275495,1281180,1289445,1299225,1310355,

1321560,1333035,1342770,1350855,1356420,1359045,

1358580,1355055,1348695,1340040,1329630,1318455,

1306935,1297380,1286865,1277730,1274550,1271556);

var DifferenceInYear=31556926;

var BeginTime=new Date(1901/1/1);

BeginTime.setTime(947120460000);

for(;DateGL.getYear()BeginTime.getYear();){

BeginTime.setTime(BeginTime.getTime()-DifferenceInYear*1000);

}

for(;DateGL.getYear()BeginTime.getYear();){

BeginTime.setTime(BeginTime.getTime()+DifferenceInYear*1000);

}

for(var M=0;DateGL.getMonth()BeginTime.getMonth();M++){

BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);

}

if(DateGL.getDate()BeginTime.getDate()){

BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);

M++;

}

if(DateGL.getDate()BeginTime.getDate()){

BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);

M==23?M=0:M++;

}

var JQ;

if(DateGL.getDate()==BeginTime.getDate()){

JQ=”  今天是font color=’#FF9999’b”+SolarTermStr[M] + “/b/font”;

}

else if(DateGL.getDate()==BeginTime.getDate()-1){

JQ=”  明天是font color=’#FF9999’b”+SolarTermStr[M] + “/b/font”;

}

else if(DateGL.getDate()==BeginTime.getDate()-2){

JQ=”  後天是font color=’#FF9999’b”+SolarTermStr[M] + “/b/font”;

}

else{

JQ=” ”

if(DateGL.getMonth()==BeginTime.getMonth()){

JQ+=”  本月”;

}

else{

JQ+=”  下月”;

}

JQ+=BeginTime.getDate()+”日”+”font color=’#FF9999’b”+SolarTermStr[M]+”/b/font”;

}

return JQ;

}

function CAL()

{}

RunGLNL();

求js詳細時間代碼,年月日星期時分(秒),陰曆日期

function RunGLNL(){ var today=new Date(); var d=new Array(“星期日”,”星期一”,”星期二”,”星期三”,”星期四”,”星期五”,”星期六”); var DDDD=(today.getYear()100 ? today.getYear()+1900:today.getYear())+”年”+(today.getMonth()+1)+”月”+today.getDate()+”日”; DDDD = DDDD + ” ” + d[today.getDay()]; DDDD = DDDD+ ” ” + (CnDateofDateStr(today)); //DDDD = DDDD+ ” ” + SolarTerm(today); document.write(DDDD); } function DaysNumberofDate(DateGL){ return parseInt((Date.parse(DateGL)-Date.parse(DateGL.getYear()+”/1/1″))/86400000)+1; } function CnDateofDate(DateGL){ var CnData=new Array( 0x16,0x2a,0xda,0x00,0x83,0x49,0xb6,0x05,0x0e,0x64,0xbb,0x00,0x19,0xb2,0x5b,0x00, 0x87,0x6a,0x57,0x04,0x12,0x75,0x2b,0x00,0x1d,0xb6,0x95,0x00,0x8a,0xad,0x55,0x02, 0x15,0x55,0xaa,0x00,0x82,0x55,0x6c,0x07,0x0d,0xc9,0x76,0x00,0x17,0x64,0xb7,0x00, 0x86,0xe4,0xae,0x05,0x11,0xea,0x56,0x00,0x1b,0x6d,0x2a,0x00,0x88,0x5a,0xaa,0x04, 0x14,0xad,0x55,0x00,0x81,0xaa,0xd5,0x09,0x0b,0x52,0xea,0x00,0x16,0xa9,0x6d,0x00, 0x84,0xa9,0x5d,0x06,0x0f,0xd4,0xae,0x00,0x1a,0xea,0x4d,0x00,0x87,0xba,0x55,0x04 ); var CnMonth=new Array(); var CnMonthDays=new Array(); var CnBeginDay; var LeapMonth; var Bytes=new Array(); var I; var CnMonthData; var DaysCount; var CnDaysCount; var ResultMonth; var ResultDay; var yyyy=DateGL.getYear(); var mm=DateGL.getMonth()+1; var dd=DateGL.getDate(); if(yyyy100) yyyy+=1900; if ((yyyy 1997) || (yyyy 2020)){ return 0; } Bytes[0] = CnData[(yyyy – 1997) * 4]; Bytes[1] = CnData[(yyyy – 1997) * 4 + 1]; Bytes[2] = CnData[(yyyy – 1997) * 4 + 2]; Bytes[3] = CnData[(yyyy – 1997) * 4 + 3]; if ((Bytes[0] 0x80) != 0) {CnMonth[0] = 12;} else {CnMonth[0] = 11;} CnBeginDay = (Bytes[0] 0x7f); CnMonthData = Bytes[1]; CnMonthData = CnMonthData 8; CnMonthData = CnMonthData | Bytes[2]; LeapMonth = Bytes[3]; for (I=15;I=0;I–){ CnMonthDays[15 – I] = 29; if (((1 I) CnMonthData) != 0 ){ CnMonthDays[15 – I]++;} if (CnMonth[15 – I] == LeapMonth ){ CnMonth[15 – I + 1] = – LeapMonth;} else{ if (CnMonth[15 – I] 0 ){CnMonth[15 – I + 1] = – CnMonth[15 – I] + 1;} else {CnMonth[15 – I + 1] = CnMonth[15 – I] + 1;} if (CnMonth[15 – I + 1] 12 ){ CnMonth[15 – I + 1] = 1;} } } DaysCount = DaysNumberofDate(DateGL) – 1; if (DaysCount = (CnMonthDays[0] – CnBeginDay)){ if ((yyyy 1901) (CnDateofDate(new Date((yyyy – 1)+”/12/31″)) 0)){ ResultMonth = – CnMonth[0];} else {ResultMonth = CnMonth[0];} ResultDay = CnBeginDay + DaysCount; } else{ CnDaysCount = CnMonthDays[0] – CnBeginDay; I = 1; while ((CnDaysCount DaysCount) (CnDaysCount + CnMonthDays[I] DaysCount)){ CnDaysCount+= CnMonthDays[I]; I++; } ResultMonth = CnMonth[I]; ResultDay = DaysCount – CnDaysCount; } if (ResultMonth 0){ return ResultMonth * 100 + ResultDay;} else{return ResultMonth * 100 – ResultDay;} } function CnYearofDate(DateGL){ var YYYY=DateGL.getYear(); var MM=DateGL.getMonth()+1; var CnMM=parseInt(Math.abs(CnDateofDate(DateGL))/100); if(YYYY100) YYYY+=1900; if(CnMMMM) YYYY–; YYYY-=1864; return CnEra(YYYY)+”年”; } function CnMonthofDate(DateGL){ var CnMonthStr=new Array(“零”,”正”,”二”,”三”,”四”,”五”,”六”,”七”,”八”,”九”,”十”,”十一”,”臘”); var Month; Month = parseInt(CnDateofDate(DateGL)/100); if (Month 0){return “閏” + CnMonthStr[-Month] + “月”;} else{return CnMonthStr[Month] + “月”;} } function CnDayofDate(DateGL){ var CnDayStr=new Array(“零”, “初一”, “初二”, “初三”, “初四”, “初五”, “初六”, “初七”, “初八”, “初九”, “初十”, “十一”, “十二”, “十三”, “十四”, “十五”, “十六”, “十七”, “十八”, “十九”, “二十”, “廿一”, “廿二”, “廿三”, “廿四”, “廿五”, “廿六”, “廿七”, “廿八”, “廿九”, “三十”); var Day; Day = (Math.abs(CnDateofDate(DateGL)))%100; return CnDayStr[Day]; } function DaysNumberofMonth(DateGL){ var MM1=DateGL.getYear(); MM1100 ? MM1+=1900:MM1; var MM2=MM1; MM1+=”/”+(DateGL.getMonth()+1); MM2+=”/”+(DateGL.getMonth()+2); MM1+=”/1″; MM2+=”/1″; return parseInt((Date.parse(MM2)-Date.parse(MM1))/86400000); } function CnEra(YYYY){ var Tiangan=new Array(“甲”,”乙”,”丙”,”丁”,”戊”,”己”,”庚”,”辛”,”壬”,”癸”); //var Dizhi=new Array(“子(鼠)”,”丑(牛)”,”寅(虎)”,”卯(兔)”,”辰(龍)”,”巳(蛇)”, //”午(馬)”,”未(羊)”,”申(猴)”,”酉(雞)”,”戌(狗)”,”亥(豬)”); var Dizhi=new Array(“子”,”丑”,”寅”,”卯”,”辰”,”巳”,”午”,”未”,”申”,”酉”,”戌”,”亥”); return Tiangan[YYYY%10]+Dizhi[YYYY%12]; } function CnDateofDateStr(DateGL){ if(CnMonthofDate(DateGL)==”零月”) return ” 請調整您的計算機日期!”; else return “農曆:”+CnYearofDate(DateGL)+ ” ” + CnMonthofDate(DateGL) + CnDayofDate(DateGL); } function SolarTerm(DateGL){ var SolarTermStr=new Array( “小寒”,”大寒”,”立春”,”雨水”,”驚蟄”,”春分”, “清明”,”穀雨”,”立夏”,”小滿”,”芒種”,”夏至”, “小暑”,”大暑”,”立秋”,”處暑”,”白露”,”秋分”, “寒露”,”霜降”,”立冬”,”小雪”,”大雪”,”冬至”); var DifferenceInMonth=new Array( 1272060,1275495,1281180,1289445,1299225,1310355, 1321560,1333035,1342770,1350855,1356420,1359045, 1358580,1355055,1348695,1340040,1329630,1318455, 1306935,1297380,1286865,1277730,1274550,1271556); var DifferenceInYear=31556926; var BeginTime=new Date(1901/1/1); BeginTime.setTime(947120460000); for(;DateGL.getYear()BeginTime.getYear();){ BeginTime.setTime(BeginTime.getTime()-DifferenceInYear*1000); } for(;DateGL.getYear()BeginTime.getYear();){ BeginTime.setTime(BeginTime.getTime()+DifferenceInYear*1000); } for(var M=0;DateGL.getMonth()BeginTime.getMonth();M++){ BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000); } if(DateGL.getDate()BeginTime.getDate()){ BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000); M++; } if(DateGL.getDate()BeginTime.getDate()){ BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000); M==23?M=0:M++; } var JQ; if(DateGL.getDate()==BeginTime.getDate()){ JQ=” 今天是font color=’#FF9999’b”+SolarTermStr[M] + “/b/font”; } else if(DateGL.getDate()==BeginTime.getDate()-1){ JQ=” 明天是font color=’#FF9999’b”+SolarTermStr[M] + “/b/font”; } else if(DateGL.getDate()==BeginTime.getDate()-2){ JQ=” 後天是font color=’#FF9999’b”+SolarTermStr[M] + “/b/font”; } else{ JQ=” ” if(DateGL.getMonth()==BeginTime.getMonth()){ JQ+=” 本月”; } else{ JQ+=” 下月”; } JQ+=BeginTime.getDate()+”日”+”font color=’#FF9999’b”+SolarTermStr[M]+”/b/font”; } return JQ; } function CAL() {} RunGLNL(); 詳細出處參考:

急求js版農曆日期選擇器

件,下載My97DatePicker後解壓會得到很多文件,有國際化、皮膚 和一些配置的文件,這些文件會互相調用,不能單獨工作,你頁面上的寫法是正確的,我想應該是js類庫缺少文件或者是文件的相對位置被改變了。

按照你引入的js位置來看在datepicker目錄下應該還有lang文件夾、skin文件夾 以及calendar.js、WdatePicker.js和config.js文件才對。你看看你的有嗎

求時間日期html代碼,帶農曆!(高手進)

下面代碼可以實現你要的功能,如下。至於你看不到它的真實的源代碼,它可能通過程序動態加載,或者是js調用。你看到的,僅僅是靜態的html代碼而已!

html

head

meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″

title單行帶農曆的日期時間代碼/title

/head

body

SCRIPT language=JavaScript

!–

function CalConv()

{

FIRSTYEAR = 1998;

LASTYEAR = 2031;

today = new Date();

SolarYear = today.getFullYear();

SolarMonth = today.getMonth() + 1;

SolarDate = today.getDate();

Weekday = today.getDay();

LunarCal = [

new tagLunarCal( 27, 5, 3, 43, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1 ),

new tagLunarCal( 46, 0, 4, 48, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1 ),

new tagLunarCal( 35, 0, 5, 53, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1 ),

new tagLunarCal( 23, 4, 0, 59, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 42, 0, 1, 4, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 31, 0, 2, 9, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0 ),

new tagLunarCal( 21, 2, 3, 14, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 39, 0, 5, 20, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 28, 7, 6, 25, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1 ),

new tagLunarCal( 48, 0, 0, 30, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1 ),

new tagLunarCal( 37, 0, 1, 35, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1 ),

new tagLunarCal( 25, 5, 3, 41, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1 ),

new tagLunarCal( 44, 0, 4, 46, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1 ),

new tagLunarCal( 33, 0, 5, 51, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 22, 4, 6, 56, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ),

new tagLunarCal( 40, 0, 1, 2, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ),

new tagLunarCal( 30, 9, 2, 7, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1 ),

new tagLunarCal( 49, 0, 3, 12, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1 ),

new tagLunarCal( 38, 0, 4, 17, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0 ),

new tagLunarCal( 27, 6, 6, 23, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1 ),

new tagLunarCal( 46, 0, 0, 28, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0 ),

new tagLunarCal( 35, 0, 1, 33, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 ),

new tagLunarCal( 24, 4, 2, 38, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 42, 0, 4, 44, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 31, 0, 5, 49, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0 ),

new tagLunarCal( 21, 2, 6, 54, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1 ),

new tagLunarCal( 40, 0, 0, 59, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1 ),

new tagLunarCal( 28, 6, 2, 5, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0 ),

new tagLunarCal( 47, 0, 3, 10, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1 ),

new tagLunarCal( 36, 0, 4, 15, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1 ),

new tagLunarCal( 25, 5, 5, 20, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 ),

new tagLunarCal( 43, 0, 0, 26, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1 ),

new tagLunarCal( 32, 0, 1, 31, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0 ),

new tagLunarCal( 22, 3, 2, 36, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0 ) ];

SolarCal = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];

SolarDays = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365, 396, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366, 397 ];

if ( SolarYear = FIRSTYEAR || SolarYear LASTYEAR ) return 1;

sm = SolarMonth – 1;

if ( sm 0 || sm 11 ) return 2;

leap = GetLeap( SolarYear );

if ( sm == 1 )

d = leap + 28;

else

d = SolarCal[sm];

if ( SolarDate 1 || SolarDate d ) return 3;

y = SolarYear – FIRSTYEAR;

acc = SolarDays[ leap*14 + sm ] + SolarDate;

kc = acc + LunarCal[y].BaseKanChih;

Kan = kc % 10;

Chih = kc % 12;

Age = kc % 60;

if ( Age 22 )

Age = 22 – Age;

else

Age = 82 – Age;

if ( acc = LunarCal[y].BaseDays ) {

y–;

LunarYear = SolarYear – 1;

leap = GetLeap( LunarYear );

sm += 12;

acc = SolarDays[leap*14 + sm] + SolarDate;

}

else

LunarYear = SolarYear;

l1 = LunarCal[y].BaseDays;

for ( i=0; i13; i++ ) {

l2 = l1 + LunarCal[y].MonthDays[i] + 29;

if ( acc = l2 ) break;

l1 = l2;

}

LunarMonth = i + 1;

LunarDate = acc – l1;

im = LunarCal[y].Intercalation;

if ( im != 0 LunarMonth im ) {

LunarMonth–;

if ( LunarMonth == im ) LunarMonth = -im;

}

if ( LunarMonth 12 ) LunarMonth -= 12;

today=new Date();

function initArray(){

this.length=initArray.arguments.length

for(var i=0;ithis.length;i++)

this[i+1]=initArray.arguments[i] }

var d=new initArray(“星期日”,”星期一”,”星期二”,”星期三”,”星期四”,”星期五”,”星期六”);

document.write(“”, today.getYear(),”年”,today.getMonth()+1,”月”,today.getDate(),”日 “,d[today.getDay()+1],””);

months = [“一”,”二”,”三”,”四”,”五”,”六”,”七”,”八”,”九”,”十”,”十一”,”十二”];

days = [“初一”,”初二”,”初三”,”初四”,”初五”,”初六”,”初七”,”初八”,”初九”,”初十”,”十一”,”十二”,”十三”,”十四”,”十五”,”十六”,”十七”,”十八”,”十九”,”二十”,”廿一”,”廿二”,”廿三”,”廿四”,”廿五”,”廿六”,”廿七”,”廿八”,”廿九”,”三十”];

document.write( ” 農曆”+months[LunarMonth-1]+”月” + days[LunarDate-1] + “”);

return 0;

}

function GetLeap( year )

{

if ( year % 400 == 0 )

return 1;

else if ( year % 100 == 0 )

return 0;

else if ( year % 4 == 0 )

return 1;

else

return 0;

}

function tagLunarCal( d, i, w, k, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13) {

this.BaseDays = d;

this.Intercalation = i;

this.BaseWeekday = w;

this.BaseKanChih = k;

this.MonthDays = [ m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13 ];

}

//–

/SCRIPT

a target=_blank href=;FONT color=#2b68a7SCRIPTCalConv();/SCRIPT/FONT/a

/body

/html

原創文章,作者:TXLXR,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/129344.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
TXLXR的頭像TXLXR
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • 北化教務管理系統介紹及開發代碼示例

    本文將從多個方面對北化教務管理系統進行介紹及開發代碼示例,幫助開發者更好地理解和應用該系統。 一、項目介紹 北化教務管理系統是一款針對高校學生和教職工的綜合信息管理系統。系統實現的…

    編程 2025-04-29

發表回復

登錄後才能評論