一个月的天数以这种方式计算:
var start = new Date(d.getFullYear(),d.getMonth(),1);
var end = new Date(d.getFullYear(),d.getMonth()+1,1);
var daysInCurMonth = parseInt((end-start)/(1000*60*60*24));
d
是实际日期,对于 3 月它具有价值(来自 FireBug 控制台):Date {Thu Mar 01 2012 00:00:00 GMT+0200}
parseInt((end-start)/(1000*60*60*24))
结果30,但是
(end-start)/(1000*60*60*24)
结果30.958333333333332
使用函数时,我希望四舍五入到31 。parseInt()
Math.round((end-start)/(1000*60*60*24))
结果31,这对于 2012 年 3 月是正确的。
Math.round()
在处理日期时可以依靠吗?