Javascript “日期计算错误”-“1天”;
我试图通过选择月数来计算日期,以-1天显示结果日期Javascript “日期计算错误”-“1天”;,javascript,jquery,datetime,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(endm
$('#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添加
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) ) ;
对Date()
对象进行计算,然后根据结果构建格式化字符串。如果将@rorymcrossan更改为(endmDate.getDate()-1),则可能重复@rorymcrossan,然后结果再次显示:2016-10-0这不是从日期中减去的正确方法。您需要这样做:@Rorymcrossan感谢它现在可以工作了。