JavaScript SetDate错误

时间:2014-07-14 23:42:37

标签: javascript

据我了解,在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月。

谢谢!

1 个答案:

答案 0 :(得分:2)

你在做什么

var twoDays = new Date();

将其设置为今天。不是你的变量today,而是今天,2014年7月14日。

然后,您twoDays.setDate(today.getDate() + 2);将日期设置为30,因为today变量的日期部分为28

其他一切都是同样的错误,但有其他变量,所以希望你能从那里弄明白。