日期无效,但日期无效

时间:2016-06-13 06:00:15

标签: javascript date datatable

我有一个日期格式

  

03.03.2016 20:01

我有一个代码

aData._date = new Date(aData[3]).getTime();

错误是日期无效但是,在不同的计算机上它运行良好但现在它无法正常工作。问题是什么?

提前致谢

2 个答案:

答案 0 :(得分:0)

您可以先将日期字符串解析为ISO8601格式。

   $sql="DELETE FROM expense, invoice, cat, conf, patient, prv, test_invoice, test_style";

将日期字符串传递给'03.03.2016 20:01' to '2016-03-03T20:01:00' 构造函数时,它会调用Date.parse个方法。它只接受ISO8601的版本。但不知何故,chrome具有扩展功能,可以将类似日期的字符串解析为Date方法。

如果您不想使用外部库,这是实现您想要的一种方式。

Date.parse

答案 1 :(得分:0)

  

有什么问题?

使用Date构造函数解析字符串(或Date.parse,它们等同于解析)在很大程度上取决于实现,不建议使用。手动解析字符串,如果只需要处理单个格式,则使用小函数,或使用库(有许多好的可供选择)并提供其他格式。

ECMAScript 2015指定 Date.parse 正确解析ISO 8601扩展格式日期,但任何其他格式都取决于实现。许多正在使用的浏览器都没有正确地(即根据规范)解析ISO 8601格式的日期。

" 03.03.2016 20:01"不是ISO 8601日期格式。假设它是DD.MM.YYYY hh:mm它可以使用以下方式解析为本地日期和时间:



function parseDMYHM(s){
  var b = ('' || s).split(/\D/);
  return new Date(b[2], b[1]-1, b[0], b[3], b[4]);
}

document.write(parseDMYHM('03.03.2016 20:01'));




或者如果你有一个带有 parse 函数的库,它接受一种要解析的格式(就像这样的库会有任何好处),使用类似的东西:

var d = parse('03.03.2016 20:01', 'DD.MM.YYYY hh:mm');