据我了解,在Javascript中向当前Date对象添加天数的方式如下:
var today = new Date("4/28/14");
var twoDays = new Date();
twoDays.setDate(today.getDate() + 2);
它有一半时间对我有用。虽然这组代码:
var today = new Date("4/28/14");
var twoDays = new Date();
twoDays.setDate(today.getDate() + 2);
var oneWeek = new Date();
oneWeek.setDate(today.getDate() + 7);
var twoWeeks = new Date();
twoWeeks.setDate(today.getDate() + 14);
正在为我回复:
Mon Apr 28 2014 00:00:00 GMT-0700 (US Mountain Standard Time)
Wed Jul 30 2014 16:37:38 GMT-0700 (US Mountain Standard Time)
Mon Aug 04 2014 16:37:38 GMT-0700 (US Mountain Standard Time)
Mon Aug 11 2014 16:37:38 GMT-0700 (US Mountain Standard Time)
出于某种原因,它只是跳到了7月和8月才应该进入6月。有人可以帮我弄清楚为什么这样做?显然,4月28日之后的14天不是8月。
谢谢!
答案 0 :(得分:2)
你在做什么
var twoDays = new Date();
将其设置为今天。不是你的变量today
,而是今天,2014年7月14日。
然后,您twoDays.setDate(today.getDate() + 2);
将日期设置为30
,因为today
变量的日期部分为28
。
其他一切都是同样的错误,但有其他变量,所以希望你能从那里弄明白。