2014-10-27 61 views
-1

我有一个输入的某个日期值,我想总结60天,并将其放入其他输入。我怎样才能做到这一点?如何累计几天到某个日期

喜欢的东西在第一输入2012年12月17日和2013年2月15日在第二输入从http://momentjs.com/

<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 ... 


    }); 
}); 
+4

2012-12-17顶部的60天是2013-02-15,而不是2013-02-17。 – 2014-10-27 15:47:57

+0

看看XDate:http://arshaw.com/xdate/ – Niko 2014-10-27 15:53:12

+0

将输入转换为Date,然后[添加日期](http://stackoverflow.com/questions/563406/add-days-to -datetime) – kei 2014-10-27 15:54:27

回答

0

下载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")); 
     } 
    }); 
}); 
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]); 
    }; 
}); 

感谢大家的回答!