算上一个月

Count on the month

我有一个程序,我用它来增加员工的工作时间。但是现在我遇到了一个问题,我已经将日期自动设置为上一周的星期一(28-09-2015 星期一,29-09-2015 星期二等),但是当我在月底时,它不再工作了。

这里可以看到一张图片:

当我们从 9 月 30 日到 10 月 1 日时,它停止工作了。 这是我使用的脚本

$(document).ready(function() {
function getMonday(d) 
{
var day = d.getDay();
diff = d.getDate() - day + -6; 
return new Date(d.setDate(diff));
}

var day = getMonday(new Date());
var month = day.getMonth()+1;

for(var i = 0; i < 7; i++)
{
$('[name="start_day'+i+'"').val(day.getDate()+i);
$('[name="start_month'+i+'"').val(month);
}

这是我用于日期的 Javascript:

<script src = "https://code.jquery.com/jquery-1.9.1.min.js"> </script>

任何人都可以告诉我我做错了什么吗?

像这样尝试。将时间增加 24 小时...

$(document).ready(function() {
function getMonday(d) 
{
var day = d.getDay();
diff = d.getDate() - day + -6; 
return new Date(d.setDate(diff));
}

var day = getMonday(new Date());
var month = day.getMonth()+1;

for(var i = 0; i < 7; i++)
{
var thisDate = new Date(day.getTime() + (24 * 60 * 60 * 1000 * i)); 
$('[name="start_day'+i+'"').val(thisDate.getDate());
$('[name="start_month'+i+'"').val(thisDate.getMonth() + 1);
}

下面会起作用,fiddler

$(document).ready(function() {
function getMonday(d) 
{

var day1 = d.getDay();
diff = d.getDate() - day1 + -6; 
return new Date(d.setDate(diff));
}

var day1 = getMonday(new Date());
var month1 = day1.getMonth()+1;

for(var i = 0; i < 7; i++)
{
    var dat = new Date();
    dat.setDate(day1.getDate() + i);
$('[name="start_day'+i+'"').val(dat);
$('[name="start_month'+i+'"').val(dat.getMonth());
}
});