JS中使用getYear方法显示年份错误的解决方法

有些网站在页面上放了一个JS显示时间,当使用到getYear获取年份的时候,部分浏览器就会显示出错,如正常应该显示2014年的,则显示成了114年。为什么会出现这个情况呢?到底是哪些浏览器出现的情况?

通过检测发现,IE6-IE8都是正常的,IE9及以上的版本就不正常了。

当然,Firefox,Chrome是肯定无法正常显示的!

JS中使用getYear方法显示年份错误的解决方法

到底有什么解决办法呢?其实解决方案都很简单,就是修改获取年份getYear的方法,下面提供两种修改方法:

如原来的获取年份的方法是:var years = d.getYear();

一、修改为var years = (d.getYear() < 1900) ? (1900 + d.getYear()) : d.getYear();

为什么这么修改呢?因为IE9和FF、Chrome的getYear()返回的是“当前年份-1900”的值,而IE9以下版本却当年份大于等于2000的时,直接将1900加上了,返回2014。

二、修改为var years = d.getFullYear();

是不是更简单更直接呢?其实墙裂的建议大家以后写JS获取年份的时候,都使用getFullYear。

下面可以看个案例:【查看demo

查看 JavaScript js getfullyear的相关文章

转载本站原创文章请注明:文章转自 挨踢路,链接: https://itlu.net/articles/2036.html

添加评论

您好,#请填信息# 确定

打赏请博主喝水
LOADING