本文目錄一覽:
- 1、求一段JAVASCRIPT的時間顯示代碼,
- 2、農曆轉陽曆JS代碼
- 3、高手幫解決一個JS顯示農曆時間代碼錯誤問題,真的很謝謝!
- 4、求js詳細時間代碼,年月日星期時分(秒),陰曆日期
- 5、急求js版農曆日期選擇器
- 6、求時間日期html代碼,帶農曆!(高手進)
求一段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