将.csv文件中的字符串转换为Javascript

时间:2017-11-09 18:00:08

标签: javascript html csv

我正在构建一个从.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文档。只是这个功能导致了我的问题。

由于代码现在是,所有它返回的是一个充满&#34; NaN&#34;的表,我假设这意味着我尝试创建的日期对象无效。

1 个答案:

答案 0 :(得分:1)

我弄清楚我的问题是什么......我在moment()函数调用中使用的格式与.csv文件中的格式不同。愚蠢的错误......哎呀。

但是如果有人感兴趣,上面的代码可以比较从csv文件到当前时间的时间(如果你确保在csv文件和moment()函数调用中都有相同的格式。)