今天早上我注意到了JavaScript setFullYear方法的一個特殊問題。JavaScript setFullYear()方法返回一個不正確的日期
當使用像這樣的方法:返回
d.setFullYear(2012,2,8);
正確的值:
Thu Mar 08 2012 10:30:04 GMT+0000 (GMT Standard Time)
但是如果我使用parseInt方法返回整數,返回的日期是不正確的:
d.setFullYear(parseInt("2012"), parseInt("02"), parseInt("08"));
回報:
Wed Feb 29 2012 10:31:30 GMT+0000 (GMT Standard Time)
看來,parseInt函數方法返回不正確的值,但是當我測試它:
document.write(parseInt("2"));
然後返回正確的值(2)
一個工作小提琴是這裏:http://jsfiddle.net/rXByJ/
問題出在parseInt或setFullYear上嗎?
很好的問題。真是個陷阱! – PiTheNumber 2012-03-07 10:48:29