1

我搜索了这个论坛并找到了许多有用的答案,但我使用的答案之一仅在某些条件下有效。

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

因此,如果我选择 2013 年 5 月 15 日星期三,它会正确返回并填充 5 月 13 日的星期一、5 月 14 日的星期二等。

但是,如果我选择 2013 年 5 月 1 日星期三,它会正确填充 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);

谁能看到我哪里出错了?

谢谢

塔米

4

1 回答 1

0

这里

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

因为您只在 setDate 函数中指定日期,所以它会假设“这个”月份恰好May在这种情况下

所以,你可以做

secondday = new Date(firstday.getFullYear(), firstday.getMonth(), firstday.getDate()+1)
于 2013-05-19T02:26:24.197 回答