网页形式的日历代码很好.docx

上传人:b****4 文档编号:4414097 上传时间:2022-12-01 格式:DOCX 页数:22 大小:80.56KB
下载 相关 举报
网页形式的日历代码很好.docx_第1页
第1页 / 共22页
网页形式的日历代码很好.docx_第2页
第2页 / 共22页
网页形式的日历代码很好.docx_第3页
第3页 / 共22页
网页形式的日历代码很好.docx_第4页
第4页 / 共22页
网页形式的日历代码很好.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

网页形式的日历代码很好.docx

《网页形式的日历代码很好.docx》由会员分享,可在线阅读,更多相关《网页形式的日历代码很好.docx(22页珍藏版)》请在冰豆网上搜索。

网页形式的日历代码很好.docx

网页形式的日历代码很好

将这本段中文(字体红色),以及这幅日历截图删除,然后将下面的代码另存为html文件,打开即可看到非常好用,内容充实的日历,如果设置于桌面就成为桌面日历。

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">

>万年历

content="农历;阳历;月历;节日;时区;节气;八字;干支;生肖;gregoriansolar;chineselunar;calendar;"

name=keywords>

name=description>

--

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

日期资料

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

varlunarInfo=newArray(

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)

varsolarMonth=newArray(31,28,31,30,31,30,31,31,30,31,30,31);

varGan=newArray("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");

varZhi=newArray("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");

varAnimals=newArray("鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪");

varsolarTerm=newArray("小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至")

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

varnStr1=newArray('日','一','二','三','四','五','六','七','八','九','十')

varnStr2=newArray('初','十','廿','卅',' ')

varmonthName=newArray("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");

//国历节日*表示放假日

varsFtv=newArray(

"0101*元旦",

"0214情人节",

"0308妇女节",

"0312植树节",

"0315消费者权益日",

"0401愚人节",

"0501劳动节",

"0504青年节",

"0512护士节",

"0601儿童节",

"0701建党节香港回归纪念",

"0801建军节",

"0808父亲节",

"0909毛泽东逝世纪念",

"0910教师节",

"0928孔子诞辰",

"1001*国庆节",

"1006老人节",

"1024联合国日",

"1112孙中山诞辰纪念",

"1220澳门回归纪念",

"1225圣诞节",

"1226毛泽东诞辰纪念")

//农历节日*表示放假日

varlFtv=newArray(

"0101*春节!

",

"0115元宵节",

"0505端午节",

"0707七夕情人节",

"0815中秋节",

"0909重阳节",

"1208腊八节",

"1223小年",

"0100*除夕")

//某月的第几个星期几

varwFtv=newArray(

"0520母亲节")

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

日期计算

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

//======================================传回农历y年的总天数

functionlYearDays(y){

vari,sum=348

for(i=0x8000;i>0x8;i>>=1)sum+=(lunarInfo[y-1900]&i)?

1:

0

return(sum+leapDays(y))

}

//======================================传回农历y年闰月的天数

functionleapDays(y){

if(leapMonth(y))return((lunarInfo[y-1900]&0x10000)?

30:

29)

elsereturn(0)

}

//======================================传回农历y年闰哪个月1-12,没闰传回0

functionleapMonth(y){

return(lunarInfo[y-1900]&0xf)

}

//======================================传回农历y年m月的总天数

functionmonthDays(y,m){

return((lunarInfo[y-1900]&(0x10000>>m))?

30:

29)

}

//======================================算出农历,传入日期物件,传回农历日期物件

//该物件属性有.year.month.day.isLeap.yearCyl.dayCyl.monCyl

functionLunar(objDate){

vari,leap=0,temp=0

varbaseDate=newDate(1900,0,31)

varoffset=(objDate-baseDate)/86400000

this.dayCyl=offset+40

this.monCyl=14

for(i=1900;i<2050&&offset>0;i++){

temp=lYearDays(i)

offset-=temp

this.monCyl+=12

}

if(offset<0){

offset+=temp;

i--;

this.monCyl-=12

}

this.year=i

this.yearCyl=i-1864

leap=leapMonth(i)//闰哪个月

this.isLeap=false

for(i=1;i<13&&offset>0;i++){

//闰月

if(leap>0&&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&&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

}

//==============================传回国历y年某m+1月的天数

functionsolarDays(y,m){

if(m==1)

return(((y%4==0)&&(y%100!

=0)||(y%400==0))?

29:

28)

else

return(solarMonth[m])

}

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

functioncyclical(num){

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

}

//==============================月历属性

functioncalElement(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小寒起算)

functionsTerm(y,n){

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

return(offDate.getUTCDate())

}

//==============================传回月历物件(y年,m+1月)

functioncalendar(y,m){

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

varlDPOS=newArray(3)

varn=0

varfirstLM=0

sDObj=newDate(y,m,1)//当月一日日期

this.length=solarDays(y,m)//国历当月天数

this.firstWeek=sDObj.getDay()//国历当月1日星期几

for(vari=0;i

if(lD>lX){

sDObj=newDate(y,m,i+1)//当月一日日期

lDObj=newLunar(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]=newcalElement(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(iinsFtv)

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(iinwFtv)

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.firstWeek>tmp2)?

7:

0)+7*(tmp1-1)+tmp2-this.firstWeek].solarFestival+=RegExp.$5+''

}

//农历节日

for(iinlFtv)

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

tmp1=Number(RegExp.$1)-firstLM

if(tmp1==-11)tmp1=1

if(tmp1>=0&&tmp1

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

if(tmp2>=0&&tmp2

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;

}

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

functioncDay(d){

vars;

switch(d){

case10:

s='初十';break;

case20:

s='二十';break;

break;

case30:

s='三十';break;

break;

default:

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

s+=nStr1[d%10];

}

return(s);

}

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

varcld;

functiondrawCld(SY,SM){

vari,sD,s,size;

cld=newcalendar(SY,SM);

if(SY>1874&&SY<1909)yDisplay='光绪'+(((SY-1874)==1)?

'元':

SY-1874)

if(SY>1908&&SY<1912)yDisplay='宣统'+(((SY-1908)==1)?

'元':

SY-1908)

if(SY>1911&&SY<1950)yDisplay='民国'+(((SY-1911)==1)?

'元':

SY-1911)

if(SY>1949)yDisplay='共和国'+(((SY-1949)==1)?

'元':

SY-1949)

GZ.innerHTML=yDisplay+'年农历'+cyclical(SY-1900+36)+'年  【'+Animals[(SY-4)%12]+'】';

YMBG.innerHTML=" "+SY+"
 "+monthName[SM];

for(i=0;i<42;i++){

sObj=eval('SD'+i);

lObj=eval('LD'+i);

sObj.className='';

sD=i-cld.firstWeek;

if(sD>-1&&sD

sObj.innerHTML=sD+1;

if(cld[sD].isToday)sObj.className='todyaColor';//今日颜色

sObj.style.color=cld[sD].color;//国定假日颜色

if(cld[sD].lDay==1)//显示农历月

lObj.innerHTML=''+(cld[sD].isLeap?

'闰':

'')+cld[sD].lMonth+'月'+(monthDays(cld[sD].lYear,cld[sD].lMonth)==29?

'小':

'大')+'';

else//显示农历日

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

s=cld[sD].lunarFestival;

if(s.length>0){//农历节日

if(s.length>6)s=s.substr(0,4)+'…';

s=s.fontcolor('red');

}

else{//国历节日

s=cld[sD].solarFestiv

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1