我正在尝试将天数添加到日期选择器输入中,以获得开始日期和结束日期。我得到了一个不正确的结束日期,看不出原因。
示例:所选日期2011-10-25,第1天
结果: date_start 2011-9-25,date_end 2012-5-7
function makeUpDates(){
// concantenate values to date_start and date_end hidden inputs
var dateString = document.getElementById('date').value,
date = new Date(dateString);
document.getElementById('date_start').value = date.getFullYear() + '-' + date.getMonth() + '-' + date.getDate();
var numDays = document.getElementById('slider').value;
date.setDate(date.getDate() + numDays);
var dateEnd = date.getFullYear() + '-' + date.getMonth() + '-' + date.getDate();
document.getElementById('date_end').value = dateEnd;
}发布于 2011-10-27 02:09:55
问题是在添加之前必须将numDays转换为整数。否则我会得到奇怪的结果。
function makeUpDates(){
// concantenate values to date_start and date_end hidden inputs
var dateString = document.getElementById('date').value,
date = new Date(dateString);
alert (date);
document.getElementById('date_start').value = date.getFullYear() + '-' + (date.getMonth()+1) + '-' + date.getDate();
var numDays = document.getElementById('slider').value;
date.setDate(date.getDate() + parseInt(numDays));
var dateEnd = date.getFullYear() + '-' + (date.getMonth()+1) + '-' + date.getDate();
document.getElementById('date_end').value = dateEnd;
}发布于 2016-03-19 00:55:32
我更喜欢将参数传递给函数,而不是使用隐藏输入。我还希望日期以原始格式显示,因为我正在使用日期选择器,希望日期字符串采用特定的格式。我还决定让这个函数在日期分隔符和填充方面更加灵活一些。用法: AddDaysToDate("03/18/2016",5,"/"),加上5天返回“03/23/2016”。
function AddDaysToDate(sDate, iAddDays, sSeperator) {
//Purpose: Add the specified number of dates to a given date.
var date = new Date(sDate);
date.setDate(date.getDate() + parseInt(iAddDays));
var sEndDate = LPad(date.getMonth() + 1, 2) + sSeperator + LPad(date.getDate(), 2) + sSeperator + date.getFullYear();
return sEndDate;
}
function LPad(sValue, iPadBy) {
sValue = sValue.toString();
return sValue.length < iPadBy ? LPad("0" + sValue, iPadBy) : sValue;
}发布于 2011-10-26 05:58:20
var today =new Date('12/22/1978');
var in_a_day =new Date(today).setDate(today.getDate()+1); //+1 or +x编辑日期格式应为:mm/dd/yyyy
https://stackoverflow.com/questions/7896378
复制相似问题