2016-08-10 130 views
0

我有一个函数在日期中添加了多个日期。但问题是.setDate不是一个函数。这是我的代码。在日期中添加日期

$('#term').on('change',function(){ 
    var datepo = Aug-10-2016 
    var days = 35 
    var po_date = $.datepicker.formatDate('yy-m-d', new Date(datepo)); 
    po_date.setDate(po_date + parseInt(days)) 

    alert(po_date) 
}) 
+0

添加小提琴或codepan与你的HTML,这将使它更方便地提供帮助。 – Arif

回答

1

setDate预计Date对象https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate

formatDate返回一个字符串https://api.jqueryui.com/datepicker/#utility-formatDate

尝试

var strDate = "Aug-10-2016"; 
strDate = strDate.replace(/-/g, " "); 
var datepo = new Date(strDate); 
var days = 35; 
datepo.setDate(datepo.getDate() + days); 
var strFormatedPODate = $.datepicker.formatDate('yy-m-d', new Date(datepo)); 

见CodePen这里:http://codepen.io/ssh33/pen/PzXYrB

+0

结果无效日期 –

+1

我编辑了我的答案并添加了codepen链接以方便您。干杯! – Stack

0

试试这个

$('#term').on('change',function(){ 
 
    var datepo = 'Aug-10-2016'; 
 
    var date_obj = new Date; 
 
    var days = 35; 
 
    var po_date = $.datepicker.formatDate('yy-m-d', new Date(datepo)); 
 

 
    alert(po_date + ' ' + date_obj.setDate(parseInt(days))); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.min.js"></script> 
 

 
<input id="term" type="text" />

0

我最后的答案:

$('#term').on('change',function(){ 
    var datepo = $('#podate').val(); 
    var days = $('#term option:selected').data('termdays'); 
    var po_date = new Date($.datepicker.formatDate('M-dd-yy', new Date(datepo))); 
    var po = new Date(po_date.setDate(po_date.getDate() + parseInt(days))) 
    var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; 
    var duedate = months[po.getMonth()]+'-'+po.getDate() +'-'+po.getFullYear(); 
    alert(duedate); 
})