JS中时间函数getYear()浏览器不兼容解决方法

编程之家的后台有一个现在时间函数,今天发现在火狐浏览器下年份显示115而不是2015,这应该就是JS时间函数浏览器不兼容导致的,下面看看解决方法吧。

这是编程之家后台的一个时间函数,现在显示是正常的,没修过前年份显示115,发现是getYear()函数浏览器不兼容导致的。

解决办法就是:

使用新的年份获取函数:getFullYear()。把getYear()改为getFullYear()函数即可。以后不管在哪里用时间函数都记得要用:getFullYear()哦。

下面附上编程之家的这个完整时间函数代码

var CalendarData=new Array(20); 

var madd=new Array(12); 

var TheDate=new Date(); 

var tgString="甲乙丙丁戊己庚辛壬癸"; 

var dzString="子丑寅卯辰巳午未申酉戌亥"; 

var numString="一二三四五六七八九十"; 

var monString="正二三四五六七八九十冬腊"; 

var weekString="日一二三四五六"; 

var sx="鼠牛虎兔龙蛇马羊猴鸡狗猪"; 

var cYear; 

var cMonth; 

var cDay; 

var cHour; 

var cDateString; 

var DateString; 

var Browser=navigator.appName; 

function init() 

CalendarData[0]=0x41A95; 

CalendarData[1]=0xD4A; 

CalendarData[2]=0xDA5; 

CalendarData[3]=0x20B55; 

CalendarData[4]=0x56A; 

CalendarData[5]=0x7155B; 

CalendarData[6]=0x25D; 

CalendarData[7]=0x92D; 

CalendarData[8]=0x5192B; 

CalendarData[9]=0xA95; 

CalendarData[10]=0xB4A; 

CalendarData[11]=0x416AA; 

CalendarData[12]=0xAD5; 

CalendarData[13]=0x90AB5; 

CalendarData[14]=0x4BA; 

CalendarData[15]=0xA5B; 

CalendarData[16]=0x60A57; 

CalendarData[17]=0x52B; 

CalendarData[18]=0xA93; 

CalendarData[19]=0x40E95; 

madd[0]=0; 

madd[1]=31; 

madd[2]=59; 

madd[3]=90; 

madd[4]=120; 

madd[5]=151; 

madd[6]=181; 

madd[7]=212; 

madd[8]=243; 

madd[9]=273; 

madd[10]=304; 

madd[11]=334; 

function GetBit(m,n) 

return (m>>n)&1; 

function e2c() 

var total,m,n,k; 

var isEnd=false; 

var tmp=TheDate.getYear(); 

if (tmp<1900) tmp+=1900; 

total=(tmp-2001)*365 

+Math.floor((tmp-2001)/4) 

+madd[TheDate.getMonth()] 

+TheDate.getDate() 

-23; 

if (TheDate.getYear()%4==0&&TheDate.getMonth()>1) 

total++; 

for(m=0;;m++) 

k=(CalendarData[m]<0xfff)?11:12; 

for(n=k;n>=0;n--) 

if(total<=29+GetBit(CalendarData[m],n)) 

isEnd=true; 

break; 

total=total-29-GetBit(CalendarData[m],n); 

if(isEnd)break; 

cYear=2001 + m; 

cMonth=k-n+1; 

cDay=total; 

if(k==12) 

if(cMonth==Math.floor(CalendarData[m]/0x10000)+1) 

cMonth=1-cMonth; 

if(cMonth>Math.floor(CalendarData[m]/0x10000)+1) 

cMonth--; 

cHour=Math.floor((TheDate.getHours()+3)/2); 

function GetcDateString() 

var tmp=""; 

//tmp+=tgString.charAt((cYear-4)%10); //年干 

//tmp+=dzString.charAt((cYear-4)%12); //年支 

//tmp+="年("; 

//tmp+=sx.charAt((cYear-4)%12); 

//tmp+=")"; 

if(cMonth<1) 

tmp+="闰"; 

tmp+=monString.charAt(-cMonth-1); 

else 

tmp+=monString.charAt(cMonth-1); 

tmp+="月"; 

tmp+=(cDay<11)?"初":((cDay<20)?"十":((cDay<30)?"廿":"卅")); 

if(cDay%10!=0||cDay==10) 

tmp+=numString.charAt((cDay-1)%10); 

if(cHour==13)tmp+="夜"; 

//tmp+=dzString.charAt((cHour-1)%12); 

//tmp+="时"; 

cDateString=tmp; 

return tmp; 

function GetDateString() 

var tmp=""; 

var t1=TheDate.getYear(); 

if (t1<1900)t1+=1900; 

tmp+=t1 

+"-" 

+(TheDate.getMonth()+1)+"-" 

+TheDate.getDate()+" " 

+TheDate.getHours()+":" 

+((TheDate.getMinutes()<10)?"0":"") 

+TheDate.getMinutes() 

+" 星期"+weekString.charAt(TheDate.getDay()); 

DateString=tmp; 

return tmp; 

init(); 

e2c(); 

//GetDateString(); 

GetcDateString(); 

document.write("&nbsp;农历 "+cDateString);

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小