我正在尝试通过选择显示结果日期的月数来计算日期,为-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
答案 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) ) ;