jquery datepicker日期+1正在添加10天

时间:2012-05-09 06:41:32

标签: jquery

我有以下代码

$("#in").datepicker({
    minDate: 0,
    onSelect: function (dateText, inst) {
        dateText = new Date(dateText);
        dateText = dateText.getDate()+1;
        $('#out').datepicker("option", 'minDate', dateText);
    }
});

实施例: http://jsfiddle.net/ANYTA/1/

但是,out datepicker正在添加10天而不是1天。有什么可以修改以使其按预期工作?非常感谢你

2 个答案:

答案 0 :(得分:6)

dateText = dateText.setDate(dateText.getDate()+1);

注意

somedate.setDate(days);

1) 是整数

2)预期值为 1-31 ,但允许使用其他值:

    2.1)0将导致上个月的最后一小时

 2.1)-1将导致上个月最后一小时之前的小时

3)当月份有31天时,那么32将导致下个月的第一天

4)如果月份有30天,那么32将导致下个月的第二天


你的代码shoule

$("#in").datepicker({
    minDate: 0,
    onSelect: function(dateText, inst) {
       var actualDate = new Date(dateText);
       var newDate = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate()+1);
        $('#out').datepicker('option', 'minDate', newDate );
    }
});

$("#out").datepicker();

<强> DEMO

答案 1 :(得分:3)

尝试:

dateText.setDate(dateText.getDate() + 1);

getDate返回当月的1-31天,因此添加一个没有意义。

setDate设置当月的某一天,因此如果您在该月的某一天添加​​一天,则可以有效地添加一天。

(另外,setDate非常聪明,可以处理翻转,即1月31日+ 1 = 2月1日)