在jQuery中给指定日期添加天数

波斯菊

我有一个包含三个字段的表单,“开始日期”,“天数”,“结束日期”。我想通过在开始日期加上天数来获得结束日期。

我的jQuery代码是:

$("#days").change(function(){
  var start_date = new Date($("#start_date").attr('value'));
  var days = parseInt($("#days").attr('value'))-1;
  var end_date = new Date(start_date);
  end_date.setDate(start_date.getDate() + days);                            
  $("#end_date").val(end_date.getFullYear() + '-' + ("0" + (end_date.getMonth() + 1)).slice(-2) + '-' + ("0" + end_date.getDate()).slice(-2));
});

在“结束日期”字段中,我得到“ NaN-aN-aN”。

我究竟做错了什么?

威廉·乔治

NaN代表Not a Number-这表示用户输入无效。

您可以使用来检查输入是否有效 if(!isNaN(date.getTime())){

一些代码可以帮助您入门:

;(function($, window, document, undefined){
    $("#days").on("change", function(){
       var date = new Date($("#start_date").val()),
           days = parseInt($("#days").val(), 10);

        if(!isNaN(date.getTime())){
            date.setDate(date.getDate() + days);

            $("#end_date").val(date.toInputFormat());
        } else {
            alert("Invalid Date");  
        }
    });


    //From: http://stackoverflow.com/questions/3066586/get-string-in-yyyymmdd-format-from-js-date-object
    Date.prototype.toInputFormat = function() {
       var yyyy = this.getFullYear().toString();
       var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
       var dd  = this.getDate().toString();
       return yyyy + "-" + (mm[1]?mm:"0"+mm[0]) + "-" + (dd[1]?dd:"0"+dd[0]); // padding
    };
})(jQuery, this, document);

http://jsfiddle.net/MCzJ6/1

希望这可以帮助。

w ^

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Lua中给定日期时间添加天数

Django模板计算从现在到指定日期的天数

如何确定日期列表中的天数差异?

从数组php中获取给定日期的天数

获取特定日期的天数

在指定日期从队列中删除作业

在Python中为日期添加天数

在Netezza中为日期添加天数

计算直到下一个指定日期为止的天数

在日期时间中添加特定的天数。如何指定格式?

BASH AWK脚本将天数添加到固定日期

将天数添加到给定日期的有线行为

SQLite-将天数添加到插入的特定日期

在Javascript中解析日期时指定日期格式

在Redshift SQL中查找指定日期之前的最大日期

在Excel(或数字)中,什么公式可以计算特定日期跨2个日期的天数

如何在unix ksh中获取当前日期和过去特定日期之间的天数?

通过从Javascript中的特定日期减去X天数来查找日期

在python中,如何计算特定日期超出“基准日期”的天数?

如何从Django模板中的给定日期开始经过特定天数后获取日期

计算R中特定日期和今天日期之间的天数

在jquery datepicker中显示特定日期

查询以选择直到特定日期的天数

jQuery UI Datepicker禁用特定日期之前的所有天数

如何获取Scala中两个给定日期之间的天数

如何从给定日期获取一年中的天数

匹配某个时间间隔内的一周中的天数以创建特定日期

计算自给定日期以来经过的月份中的特定天数

获取指定日期表中的最新记录