在Javascript中计算日期会返回NaN-NaN-NaN
Calculating dates in Javascript returns NaN-NaN-NaN
我目前正在使用一个小型应用程序,该应用程序在javascript中集成了日期计算。它由3个形式元素组成。第一个元素允许用户指定他想住的夜数。第二个元素指定开始日期,第三个元素指定结束日期。一旦用户选择了入住时间,就应该将住宿天数添加到开始日期中。
这就是我在Javascript中为"end_date"计算得出的结果:
function setExpDate(formDate){
// set number of days to add
var daystoadd2 = getStayingLength();
var startDate = new Date(formDate);
var expDate = startDate;
expDate.setDate(startDate.getDate() + daystoadd2);
var totaldate = expDate;
var curr_date = expDate.getDate();
var curr_month = expDate.getMonth() +1;
var curr_year = expDate.getFullYear();
var totaldate = (curr_date + "-" + curr_month + "-" + curr_year);
document.getElementById('end_Date').value = totaldate;};
此函数由start_date字段上的onBlur事件触发。这就产生了NaN-NaN-NaN。我应该如何更改代码以使其工作?
您可以在此处找到"应用程序":Form Calculation
您的函数setDate()使用以下格式(因为Date()就是这样工作的):
setExpDate('11/29/2013');
setExpDate('November 29, 2013');
setExpDate('2013-11-29');
setExpDate('Friday November 29 2013');
如果您想使用其他格式作为输入,如19-12-2013
,则必须在调用Date()
之前对其进行更改。一种可能的方式:
var dateParts = formDate.split('-');
formDate = dateParts[1] + '/' + dateParts[0] + '/' + dateParts[2];
var startDate = new Date(formDate);
相关文章:
- 如何防止Math.max()返回NaN
- 尝试求和时,在我的表的页脚中返回$NaN
- 为什么Math.pow(1,无穷大)返回NaN
- JavaScript:返回NaN(第2部分)
- 为什么这个代码返回NaN
- Protractor-分配给element.all.locator.count的变量返回NaN why
- javascript 在求和时返回 NaN
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 返回“[对象对象] NaN” - Javascript
- 返回为 NaN 的值
- 计算地理位置距离返回 NaN
- Javascript函数返回'NaN'或者'未定义'
- nan在C++中是什么意思?为什么pow(-4,-2.1)返回-nan
- 货币字段上的 parseInt 返回 NaN
- 地理编码在第二次调用时返回(NaN、Nan)
- 乘法后,js 返回数字和 NaN
- moment .toJSON returns "0NaN-NaN-NaNTNaN:NaN:NaN.NaNZ&q
- (NaN!=NaN)和(NaN)之间有什么区别
- 为什么返回的是 NaN 而不是数字
- 在jquery bootstrap数据表中显示NaN到NaN