JS中使用getYear方法显示年份错误的解决方法
有些网站在页面上放了一个JS显示时间,当使用到getYear获取年份的时候,部分浏览器就会显示出错,如正常应该显示2014年的,则显示成了114年。为什么会出现这个情况呢?到底是哪些浏览器出现的情况?
通过检测发现,IE6-IE8都是正常的,IE9及以上的版本就不正常了。
当然,Firefox,Chrome是肯定无法正常显示的!
到底有什么解决办法呢?其实解决方案都很简单,就是修改获取年份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】
赏
转载本站原创文章请注明:文章转自 挨踢路,链接: https://itlu.net/articles/2036.html
一直用的是getFullYear
直到今天,我仍能发现有些网站还在使用getYear。。。
嘿嘿学到了,给大家分享个好消息。刚刚我在一个站上看到2014-8-14上午9:00在 http://www.jiawin.com/henghostt-t-building/这里好像可以免费获得VPS、独立IP主机等礼品
到处都有你、
我也觉得是。
前來支持一下~~學習啦!
PS:歡迎訪問AREFLY.COM~~
嗯,博客内容不错,就是感觉排版有点小乱
涨姿势了
客气了
一直在使用JS,倒还没见到过这种情况。
可能是写过这一块的?
你连个正确的邮箱都不敢留,表示。。。
你这页面加载有如龟速啊。哪儿的主机?
极有可能是百度联盟的代码拖慢速度,图片在又拍,部分静态文件在七牛,这些理论上不应该慢的。
菜鸟看看。学习一下
www.38hzt.com