function simple_calendar() { var cal_calendarcalendardata=new array(20); var cal_calendarmadd=new array(12); var cal_calendarthedate=new date(); var cal_calendartgstring="甲乙丙丁戊己庚辛壬癸"; var cal_calendardzstring="子丑寅卯辰巳午未申酉戌亥"; var cal_calendarnumstring="一二三四五六七八九十"; var cal_calendarmonstring="正二三四五六七八九十冬腊"; var cal_calendarweekstring="日一二三四五六"; var cal_calendarcyear; var cal_calendarcmonth; var cal_calendarcday; var cal_calendarchour; var cal_calendarcdatestring; var cal_calendardatestring; var cal_calendarweekdaystring; var cnyear; var shortcnmonth=""; var yearstring; var monthstring; var daystring; var weekstring; var browser=navigator.appname; cal_calendarinit=function() { cal_calendarcalendardata[0]=0x41a95; cal_calendarcalendardata[1]=0xd4a; cal_calendarcalendardata[2]=0xda5; cal_calendarcalendardata[3]=0x20b55; cal_calendarcalendardata[4]=0x56a; cal_calendarcalendardata[5]=0x7155b; cal_calendarcalendardata[6]=0x25d; cal_calendarcalendardata[7]=0x92d; cal_calendarcalendardata[8]=0x5192b; cal_calendarcalendardata[9]=0xa95; cal_calendarcalendardata[10]=0xb4a; cal_calendarcalendardata[11]=0x416aa; cal_calendarcalendardata[12]=0xad5; cal_calendarcalendardata[13]=0x90ab5; cal_calendarcalendardata[14]=0x4ba; cal_calendarcalendardata[15]=0xa5b; cal_calendarcalendardata[16]=0x60a57; cal_calendarcalendardata[17]=0x52b; cal_calendarcalendardata[18]=0xa93; cal_calendarcalendardata[19]=0x40e95; cal_calendarmadd[0]=0; cal_calendarmadd[1]=31; cal_calendarmadd[2]=59; cal_calendarmadd[3]=90; cal_calendarmadd[4]=120; cal_calendarmadd[5]=151; cal_calendarmadd[6]=181; cal_calendarmadd[7]=212; cal_calendarmadd[8]=243; cal_calendarmadd[9]=273; cal_calendarmadd[10]=304; cal_calendarmadd[11]=334; } cal_calendargetbit=function(m,n) { return (m>>n)&1; } cal_calendare2c=function() { var total,m,n,k; var isend=false; var tmp=cal_calendarthedate.getyear(); if (tmp<1900) tmp+=1900; total=(tmp-2001)*365 +math.floor((tmp-2001)/4) +cal_calendarmadd[cal_calendarthedate.getmonth()] +cal_calendarthedate.getdate() -23; if (cal_calendarthedate.getyear()%4==0&&cal_calendarthedate.getmonth()>1) total++; for(m=0;;m++) { k=(cal_calendarcalendardata[m]<0xfff)?11:12; for(n=k;n>=0;n--) { if(total<=29+cal_calendargetbit(cal_calendarcalendardata[m],n)) { isend=true; break; } total=total-29-cal_calendargetbit(cal_calendarcalendardata[m],n); } if(isend)break; } cal_calendarcyear=2001 + m; cal_calendarcmonth=k-n+1; cal_calendarcday=total; if(k==12) { if(cal_calendarcmonth==math.floor(cal_calendarcalendardata[m]/0x10000)+1) cal_calendarcmonth=1-cal_calendarcmonth; if(cal_calendarcmonth>math.floor(cal_calendarcalendardata[m]/0x10000)+1) cal_calendarcmonth--; } cal_calendarchour=math.floor((cal_calendarthedate.gethours()+3)/2); } cal_calendargetcdatestring=function() { var tmp=""; tmp+=cal_calendartgstring.charat((cal_calendarcyear-4)%10); //年干 tmp+=cal_calendardzstring.charat((cal_calendarcyear-4)%12); //年支 tmp+="年"; cnyear=tmp; if(cal_calendarcmonth<1) { shortcnmonth+="闰"; shortcnmonth+=cal_calendarmonstring.charat(-cal_calendarcmonth-1); } else shortcnmonth+=cal_calendarmonstring.charat(cal_calendarcmonth-1); shortcnmonth+="月"; shortcnmonth+=(cal_calendarcday<11)?"初":((cal_calendarcday<20)?"十":((cal_calendarcday<30)?"廿":"卅")); if(cal_calendarcday%10!=0||cal_calendarcday==10) shortcnmonth+=cal_calendarnumstring.charat((cal_calendarcday-1)%10); tmp+=shortcnmonth; cal_calendarcdatestring=tmp; return tmp; } cal_calendargetdatestring =function() { var tmp=""; var t1=cal_calendarthedate.getyear(); if (t1<1900)t1+=1900; yearstring=t1; monthstring=(cal_calendarthedate.getmonth()+1); daystring=cal_calendarthedate.getdate(); weekstring=cal_calendarthedate.getday(); cal_calendarweekdaystring ="星期"+cal_calendarweekstring.charat(weekstring); tmp+=yearstring +"年" +monthstring+"月" +daystring+"日"; cal_calendardatestring=tmp; return tmp; } cal_calendarsolarterm=function(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.getfullyear()begintime.getfullyear();){ 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+="今日<"+solartermstr[m]+">"; } else if(dategl.getdate()==begintime.getdate()-1){ jq+="明日<"+solartermstr[m]+">"; } else if(dategl.getdate()==begintime.getdate()-2){ jq+="后日<"+solartermstr[m]+">"; } else{ jq=""; if(dategl.getmonth()==begintime.getmonth()){ jq+="本月"; } else{ jq+="下月"; } jq+=begintime.getdate()+"日<"+solartermstr[m]+">"; } return jq; } this.init=function() { cal_calendarinit(); cal_calendare2c(); cal_calendargetdatestring(); cal_calendargetcdatestring(); } this.getendatestring =function() { return cal_calendardatestring; } this.getcndatestring =function() { return cal_calendarcdatestring ; } this.getjqstring =function() { return cal_calendarsolarterm(new date()); } this.getyearstring =function() { return yearstring; } this.getmonthstring =function() { return monthstring } this.getdaystring =function() { return daystring; } this.getweekstring =function() { return weekstring; } this.getcalendarweekstring=function() { return cal_calendarweekdaystring; } this.getshortcnmonth=function() { return shortcnmonth; } this.getcnyear=function() { return cnyear; } }