如何将日期汇总到某个日期

时间:2014-10-27 15:45:47

标签: javascript jquery html

我有一个带有一些日期值的输入,我想总结60天,并将该val放入其他输入。我怎么能这样做?

第一次输入中的2012-12-17和第二次输入中的2013-02-15

<td width="148"><input name="USER_joindate" id="USER_joindate" type="text" readonly="readonly" value="2012-12-17"></td>

<td><input name="EndPeriodExperience" id="EndPeriodExperience" type="text" readonly="readonly"></td>



$( document ).ready(function() {
   $('#USER_joindate').on('change', function() {

....magic ... 


   });
});

2 个答案:

答案 0 :(得分:0)

http://momentjs.com/下载moment.js并尝试:

$(document).ready(function() {
   $('#USER_joindate').on('change', function() {
       // get the value of USER_joindate
       var dateString = $(this).val();

       // validate the date format inside USER_joindate
       if (dateString.match(/^[0-9]{2}-[0-9]{2}-[0-9]{4}$/g)) {
           // create a new date object using moment.js
           var dateObj = moment(dateString);
           // add 60 days to the date
           dateObj.add(60, 'days');
           // fill EndPeriodExperience with the new date
           $("#EndPeriodExperience").val(dateObj.format("YYYY-MM-DD"));
       }
   });
});

答案 1 :(得分:0)

我找到方法,查看fiddle

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

        if(!isNaN(date.getTime())){
            date.setDate(date.getDate() + 61);
            //2012-12-17
            $("#EndPeriodExperience").val(date.toInputFormat());
        } else {
            alert("Fecha Invalida");
            $("#USER_joindate").focus();
        }
    });

    Date.prototype.toInputFormat = function() {
       var yyyy = this.getFullYear().toString();
       var mm = (this.getMonth()+1).toString(); 
       var dd  = this.getDate().toString();
       return yyyy + "-" + (mm[1]?mm:"0"+mm[0]) + "-" + (dd[1]?dd:"0"+dd[0]);
    };
});

感谢所有人的回答!