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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)