today.getYear()函數在IE下显示正常,譬如2012,但在chrome,firefox显示的却是112年。
原因就是 javascript 的兼容性问题
var today = new date();
var year = today.getYear();
在 Firefox 里面 getYear 返回的是 "当前年份-1900" 的值 (以前都如此)
而微软很NB的做了一个改动:
当today的年份大于等于2000的时候 直接把1900加上了 返回的 200X (而不是10X)
如:today年份是1999 返回99
today年份是2000 返回2000
一个简单的解决是加一个判断:
year = (year<1900?(1900+year):year);
或者
year = (today.getYear() < 1900) ? (1900 + today.getYear()) : today.getYear();
也有另外的方法
通过 getFullYear getUTCFullYear 去调用
var year = today.getFullYear();
附:2008北京奥运会的倒计时js代码
===========================================================
获取指定时间前一天
var myDate = new Date("2013-05-02") myDate.setMonth(myDate.getMonth()); myDate.setDate (myDate.getDate() - 1); document.write(myDate.toLocaleString());
思路:获取当前时间,天数减一,注意:如果需要获取当月的最后一天,可以先获取当月的下一个月,然后用下一个月的第一天减一。