我希望从input
获取日期,当通过Bootstrap Date Picker设置时,该格式为dd-mm-yyyy,并根据此日期计算一周结束。不知怎的,我得到了一些奇怪的结果。
$('#date-start').on('changeDate', function(){
var objThs = $(this);
if(objThs.parent().is('.reportDateWeeks')){
var arrDateEl = objThs.val().split("-"),
datStartDate = new Date(arrDateEl[2], arrDateEl[1] -1, arrDateEl[0]),
datEndDate= new Date(datStartDate.setDate(datStartDate.getDate()+7)),
datEndDateFormated = datEndDate.getDate() + '-' + datEndDate.getMonth() + 1 + '-' + datEndDate.getFullYear();
console.log('start ' + objThs.val());
console.log('end' + datEndDateFormated);
}
});
e.g。如果我选择04-05-2014,那么控制台会给我回复:
从04-05-2014开始
结束11-41-2014
答案 0 :(得分:1)
我看到两个问题。
datEndDate.getMonth() + 1
周围添加括号。否则,1
将被添加为字符串,而不是数字(在您的示例中生成41
)。所以固定可能看起来像:
var datEndDateFormated = (datEndDate.getMonth() + 1) + '-'
+ datEndDate.getDate() + '-'
+ datEndDate.getFullYear();
答案 1 :(得分:-1)
好的,我找到了解决方案......
datEndDateFormated = datEndDate.getDate() + '-' + datEndDate.getMonth() + '-' + datEndDate.getFullYear();
我是如此盲目......关于那个
答案 2 :(得分:-1)
使用parseInt方法将字符串转换为整数,然后将+1转换为整数。
datEndDateFormatted = datEndDate.getDate() + '-' + parseInt(datEndDate.getMonth() + 1) + '-' + datEndDate.getFullYear();