我的输入excel表包含两个不同类型值的字段“date”,如下所示
2015-03-02 11:06:35
3/2/2015 4:03:53 AM
我正在将它们视为“字符串”并执行逻辑
var temp = date.getString();
temp = str2date(temp,"dd.MM.yyyy HH:mm:ss");
我收到以下错误
*Could not apply the given format dd.MM.yyyy HH:mm:ss on the string for 2015-03-02 11:06:35 : Format.parseObject(String) failed*
我尝试将它们视为“日期”,但我收到了以下错误
Unparseable date: " 2015-03-02 11:06:35 "
我们如何处理此错误?
答案 0 :(得分:0)
来自文档的一些想法。 http://wiki.pentaho.com/display/EAI/JavaScript+Values
首先尝试调用getDate(),它应该是与相关单元格相关联的函数。
如果这不起作用,请尝试在excel中调用getNumber(),所有日期都以浮点表示。整数部分是1970年1月1日以来的天数,分数部分是一天中的百分比。我敢肯定,如果你环顾四周这个功能有一个js包装。
另一个想法是确定所有数字格式字符串。圈住他们捕捉错误。不抛出错误的那个应该是正确的。或者你可以写一个小的正则表达式模式来更好地检查出来的日期。
答案 1 :(得分:0)
最后,我得到了结果。我将逐步解释,请仔细按照步骤进行。
步骤1:数据网格=>我创建了一个名为fail_date的字段,即String数据类型。
步骤2:修改的Java脚本值=>我写了一些像这样的代码。请按照屏幕截图。
第3步:选择值=>这里我转换了日期数据类型。
步骤4:修改的Java脚本值2 =>这里我也写了一个代码。请按照屏幕截图。
第5步:选择值=>最后,我转换了需要数据格式。其中correct_date字段是您需要的输出。
步骤6:最终输出屏幕将是这样的。
步骤7:屏幕截图下方显示整个转换屏幕。
希望这有帮助。
答案 2 :(得分:0)
您可以使用图书馆吗?我使用了xdate非常好。它解析这两个日期字符串
var xdate = require('xdate');
xdate('2015-03-02 11:06:35').toDate(); // returns a js date object
xdate('3/2/2015 4:03:53 AM').toDate(); // returns another js date object.