将来的你, 肯定会感激现在拼命的自己。

javascript获取当前年份的后两位

所周知,js里面有个内置对象Date,记录了有关系统时间的信息。
我们只要实例化一个Date对象,var date= new Date();
然后就可以用这个对象获取有关当前时间的各种信息,比如年份,月份,日期以及时间等。


这里有一个小小的问题,在获取年份的时候,不同的浏览器竟然有不一样的结果喔。
var year=date.getYear();
IE中显示2010,没问题;但是FF,Chrome等却显示110。我们仔细观察一下,发现2010-1900=110!


溯其根源,是因为在2000年之前,我们是两位数来表示年份的,比如拳皇97,拳皇99, 没有说拳皇1997的吧?
所以在javascript里,获取的年份是默认减去1900的,当然在2000年之前,这是没问题的,但是2000年之后,就会出现110年这样的怪现象。
其实这么说来,110年才是正常的,IE中显示2010年的原因只是IE这个“万能”的浏览器自作主张地对getYear()的值加上1900罢了。


要解决这个浏览器显示不同年份的问题有两个方法:
1.改用getFullYear()方法,直接获取4位数的年份值。

var myDate = new Date();
var yy = (myDate.getFullYear()+'').substr(2, 2);

2.做个3元运算来处理

参考代码:比如今年是2011年,取11

var myDate = new Date();
var year = myDate.getYear();
var year = year < 2000 ? year + 1900 : year;
var yy = year.toString().substr(2, 2);

如果觉得对你有帮助可以收藏或者分享给朋友,谢谢!


 钟永标

个人头像


 热门推荐


 热门阅读