精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

青岛星网的后台有一个现在时间函数,今天发现在火狐浏览器下年份显示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);
Tags:getYear() 时间函数