JavaScript日期计算不起作用

JavaScript date math not working

本文关键字:不起作用 计算 日期 JavaScript      更新时间:2023-09-26

我搜索了这个论坛,发现了许多有用的答案,但我使用的一个答案只在某些条件下有效。

我正在填充一个周日历,并且只需要从日期选择器中确定一周的开始(星期一),然后我添加到该日期以使用以下6天填充文本字段。只有当日期选择器选择在同一个月份时才有效。

因此,如果我选择Wednesday May 15 2013,它将正确返回并将5月13日填充到星期一,将5月14日填充到星期二,等等。

但是,如果我选择星期三May 1, 2013,它正确地填充星期一4月29日,但星期二它显示为5月30日(添加一个月而不是一天)。

我应该注意到我是在Application Craft中构建的,所以我不知道这是否有任何影响。

下面是我的代码:

var curr = new Date(app.getValue("DatePicker2")); // get selected date
var first = curr.getDate() - curr.getDay() +1; // Adjust for monday start of week
var firstday = new Date(curr.setDate(first));
var secondday = new Date();
secondday.setDate(firstday.getDate()+1);

有人能看出我哪里出错了吗?

感谢

Tammy

这里

secondday.setDate(firstday.getDate()+1)

由于您只在setDate函数中指定日期,因此它将假设"this"月份,在本例中恰好是May

所以你可以输入

secondday = new Date(firstday.getFullYear(), firstday.getMonth(), firstday.getDate()+1)