【发布时间】:2017-11-09 18:00:07
【问题描述】:
我正在构建一个函数,该函数将从 .csv 文件中读取并使用 ajax 构建一个表。就构建表格而言,我的功能运行良好。其中一列有日期/时间。我正在尝试将日期的字符串版本转换为日期对象,以便我可以将表中的小时与当前小时进行比较,并在 tableHour 不在最后 2 个 currentHour 内时设置错误标志。
我从这里和其他网站尝试了很多不同的建议,但似乎没有任何效果。
任何建议将不胜感激。
if (cell_count === 9){
// cell_data[9] is the column from the .csv file that contains the date string
var tableDate = moment(cell_data[9], 'MM-DD-YYYY hh:mm:ss')
var date = new Date(tableDate);
var tableHour = date.getHours();
var currentDate = new Date();
var currentHour = currentDate.getHours();
// convert to local time
tableHour += 8;
if (tableHour > 23)
tableHour -= 24;
// 2 hour window
currentHour -= 2;
if (currentHour < 0)
currentHour += 24;
// flag to true if table < current
if (tableHour < currentHour)
error = true;
}
我的代码的其余部分工作正常,只是构建表格并将表格返回到 HTML 文档。正是这个功能引起了我的问题。
就像现在的代码一样,它返回的只是一个充满“NaN”的表,我假设这意味着我试图创建的日期对象是无效的。
【问题讨论】:
-
在使
Date对象返回之前,console.log(tableDate)是什么? -
在 html 页面上,当我将 console.log(tableDate) 放入实际构建表格的函数中时,它只是显示为“未定义”
标签: javascript html csv