日期错误计算“-1天”

时间:2016-08-02 09:29:53

标签: javascript jquery datetime

我正在尝试通过选择显示结果日期的月数来计算日期,为-1天。

 $('#txtjQcal15_1, #month_number').change(function(){ 
 var months = +$('#month_number').val();    
 var endmDate = new Date($('#txtjQcal15_1').val()); 
 if (isNaN(endmDate)) {endmDate = 0;} 
  else {
 endmDate.setMonth(endmDate.getMonth() + Number(months) ); 
 $('#date_result_month').val( endmDate.getFullYear() + '-' + ( "0" + (endmDate.getMonth() + 1)).slice(-2) + '-' + ("0" + (endmDate.getDate() - 1)).slice(-2) ) ;

如果我选择2016-09-09结果显示2016-10-08并且没关系。

如果我选择 2016-09-01 ,则只计算月份的乞讨是错误的:2016-10-00 !!!而不是 2016-09-30

1 个答案:

答案 0 :(得分:0)

添加endmDate.setDate(endmDate.getDate() - 1);解决了我的问题。

$('#txtjQcal15_1, #month_number').change(function(){ 
var months = +$('#month_number').val();    
var endmDate = new Date($('#txtjQcal15_1').val()); 
if (isNaN(endmDate)) {endmDate = 0;} 
 else {
endmDate.setMonth(endmDate.getMonth() + Number(months) ); 
endmDate.setDate(endmDate.getDate() - 1);
$('#date_result_month').val( endmDate.getFullYear() + '-' + ( "0" + (endmDate.getMonth() + 1)).slice(-2) + '-' + ("0" + endmDate.getDate()).slice(-2) )  ;