JavaScript setDate() 返回无效日期

标签 javascript jquery jquery-ui date

所以,我有这段代码:

$('#end_date').click(function() 
{
    var start_date = new Date($('#start_date').val());
    var duration = parseInt($('#duration').val());

    var end_date = new Date();
    end_date.setDate(start_date + duration);

    $('#end_date').val($.datepicker.formatDate('yy-mm-dd', end_date));
});

我认为,应该从表单中获取开始日期,并在其中添加一些天数(持续时间),然后在另一个文本字段中显示输出。但是,我得到的结果总是 NaN-NaN-NaN,或者如果我删除格式,则只是 Invalid Date。

但是:

$('#end_date').val($.datepicker.formatDate('yy-mm-dd', start_date));

工作正常。所以我不认为问题出在第三行。现在我很困惑。有解决这个问题的建议吗?

最佳答案

setDate 只是设置月份中的第几天,您可以使用 setFullYearsetMonth 或者您可以这样做。

$('#end_date').click(function() 
{
    var start_date = new Date($('#start_date').val());
    var duration = parseInt($('#duration').val());

    var end_date = new Date();
    end_date.setDate(start_date.getMilliseconds() + duration.getMilliseconds());

    $('#end_date').val($.datepicker.formatDate('yy-mm-dd', end_date));
});

希望 start_Date 和 duration 返回毫秒数。

关于JavaScript setDate() 返回无效日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13140823/

相关文章:

javascript - 如何在某人的网站上构建一个小部件并托管在您的网站上?

javascript - 使用 javascript 阻止图像网络请求

javascript - 如何将 'tap' 和 'doubletap' 绑定(bind)到 Hammer.js 中的同一元素?

jquery - 如何使用 brunch 构建的应用程序导入 Bower_components?

javascript - masonry - 列宽百分比 + 排水沟

javascript - 如果它有数据但类型或值不正确

jQueryUI 对话框宽度

javascript - 在 javascript 中用于文件路径验证的正则表达式

javascript - 未捕获的语法错误 : Unexpected token (Script Ajax Call)

javascript - 将一个部门捕捉到另一个部门