javascript中的日期

javascript中的日期,javascript,date,Javascript,Date,我需要一些关于javascript日期的帮助。我在工作时发现了一个bug。我想问题已经解决了,但我不知道为什么 我们有一个自定义日历,每页有七天(周一至周日)。 选择下一个(>)时,将添加7天。问题在于,在2015年10月(19-25),当你按下“下一周”按钮时,新的一周的天数从26-1周变为25-31天 这是一周的代码总和: date = new Date( date.getTime() + num * 86400000 );` 这就是我“修复”它的方式: 现在选择器工作了,我想864000

我需要一些关于javascript日期的帮助。我在工作时发现了一个bug。我想问题已经解决了,但我不知道为什么

我们有一个自定义日历,每页有七天(周一至周日)。 选择下一个(>)时,将添加7天。问题在于,在2015年10月(19-25),当你按下“下一周”按钮时,新的一周的天数从26-1周变为25-31天

这是一周的代码总和:

date = new Date( date.getTime() + num * 86400000 );`
这就是我“修复”它的方式:

现在选择器工作了,我想86400000是一天中的毫秒,但是为什么它在几天内不工作呢


谢谢

您所在地区的10月下旬是夏令时或“夏季”结束的时候。一周中有一天比其他几天稍短


JavaScript运行库的内部成员都知道这一点,因此通过
setDate()
API添加天数可以得到正确的答案。

如果我可以提出建议的话:签出。虽然它不能直接回答您为什么会遇到问题的问题(@Pointy的答案是正确的),但它会使您这样的计算变得更简单

与此相反:
date=新日期(date.getTime()+num*86400000)

您可以这样做:
date=moment().添加(1,'w').toDate()


…而且我相信它可以解释夏令时。

y,谢谢你的建议。我们在产品中使用“时刻”,但仅在需要显示格式良好的日期时使用。在另一种情况下,如果可以在不增加复杂性的情况下使用标准库,则我们不希望使用库。PD:很好的图书馆!
date = new Date(date.getFullYear(), date.getMonth(), date.getDate() + num);`