如下代码:
//var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
var today = new Date(2013,0,31);
var tomorrow = new Date();
tomorrow.setDate(today.getDate() + 1);
alert("New date is "+tomorrow.getFullYear() +", "+ tomorrow.getMonth()+", "+ tomorrow.getDate())
...输出:
2014, 1, 1
(演示:http://jsfiddle.net/3pA3Q/5/)
谁能解释一下?
另外,这两个结果相同:
var today = new Date(2013,11,31);
var today = new Date(2013,12,31);
我了解“月份从1月0到12月11日开始”,因此
new Date(2013,12,31)
应该是2014年1月31日 最佳答案
您已将tomorrow
初始化为今天的日期,因此在tomorrow.setDate(today.getDate() + 1);
这一行中,您只是将1天添加到了今天的日期。
克隆日期会更好:
var today = new Date(2013,0,31);
var tomorrow = new Date(today.getTime()); // Get a copy
tomorrow.setDate(tomorrow.getDate() + 1);