Javascript 数据表不能排序';日期';边中的列类型

Javascript 数据表不能排序';日期';边中的列类型,javascript,datatables,microsoft-edge,datatables-1.10,Javascript,Datatables,Microsoft Edge,Datatables 1.10,当使用columnDefs将列类型设置为“日期”时,排序中断,但仅在边缘中。Firefox和Chrome仍按预期运行 不会引发任何错误,如果删除该类型,它将重新启用字母数字排序 有人能告诉我为什么会发生这种情况,以及我如何解决它吗 确切的可复制示例如下: 福 日期 酒吧 log('scriptstart'); $('#target')。数据表({ “pageLength”:100, “长度菜单”:[100150200], “数据”:[ [‘aaa’、‘2020年11月30日’、‘ccc’],

当使用
columnDefs
将列类型设置为“日期”时,排序中断,但仅在边缘中。Firefox和Chrome仍按预期运行

不会引发任何错误,如果删除该类型,它将重新启用字母数字排序

有人能告诉我为什么会发生这种情况,以及我如何解决它吗

确切的可复制示例如下:


福
日期
酒吧
log('scriptstart');
$('#target')。数据表({
“pageLength”:100,
“长度菜单”:[100150200],
“数据”:[
[‘aaa’、‘2020年11月30日’、‘ccc’],
[‘aaa’、‘2020年11月3日’、‘ccc’],
[‘aaa’、‘2020年10月31日’、‘ccc’],
[‘aaa’、‘2020年10月30日’、‘ccc’],
[‘aaa’、‘2020年10月6日’、‘ccc’],
[‘aaa’、‘2020年9月30日’、‘ccc’],
[‘aaa’、‘2020年9月30日’、‘ccc’],
[‘aaa’、‘2020年9月15日’、‘ccc’]
],
“columnDefs”:[
{
"目标":一,,
“类型”:“日期”
}
]
});

如果问题仍然存在,则您也可以参考此示例,该示例可以与MS Edge浏览器配合使用


$(函数(){
$.fn.dataTable.moment(“DD/MM/YYYY HH:MM a”);
$('#示例')。数据表({
“scrollX”:正确,
“订单”:[[2,“说明”]]
});
})
名称
单位
时间
老虎尼克松
系统架构师
2017年5月16日下午5:44
加勒特温特斯
会计
2017年5月15日下午5:43
阿什顿考克斯
初级技术作者
2017年2月12日下午5:43
塞德里克·凯利
高级Javascript开发人员
2017年5月13日上午5:45
佐藤航空
会计
2017年5月11日下午5:41
布里尔·威廉姆森
集成专家
2017年5月13日下午5:41
赫罗德·钱德勒
营业员
2017年5月12日下午5:41

结果表明,Edge的有效
Date.parse格式集要小得多。与用户协商他们将接受的内容。您可以删除破折号以获得可排序的格式-例如
06 Oct 2020
而不是
06-Oct-2020
。@andrewjames做了一些简短的测试,该格式似乎解析了前一天23小时的一位数日数,例如:
2020年7月2日
2020年7月2日
解析为
2020-07-01T23:00:00.000Z
…很高兴知道-谢谢。乱七八糟的。我本来希望避免使用即时插件,因为它需要一个完整的过程来获得批准,但看起来我最终还是不得不这么做!您还可以尝试参考此示例,该示例不使用moment插件,也可以使用MS Edge浏览器。Ref:让我们知道,这是否有助于您解决问题。@Gavin,问题解决了还是仍然存在?如果问题解决了,我建议您将解决方案张贴在此处,并标记您自己的答案。如果上述答案解决了问题,那么您可以接受它作为此问题的答案。它可以在未来帮助其他社区成员解决类似的问题。谢谢你的理解。我已经把这个标记为答案,因为它绝对有效。但在我们的例子中,我只是将用户协商到一种默认的日期格式,而不必修改任何现有的插件。