我正在尝试按时间戳列降序对二维数组进行排序。此列(索引 11)的格式为:'yyyy-MM-dd HH:mm:ss'。我试过很多东西。根据我读过的主题,这段代码应该可以工作:
List.sort(function(x, y){
return Date.parse(y[11]) - Date.parse(x[11]);
});
提前致谢!
最佳答案
这将适用于最新的浏览器,这些浏览器支持最近定义的 Date.parse
输入格式(在 ES5 之前,它只是“解析任何 Date# toString
吐出").
虽然从未指定过,但较旧的浏览器将在日期中使用 /
而不是 -
来支持它,因此:
List.sort(function(x, y){
return Date.parse(y[11].replace(/-/g, '/')) - Date.parse(x[11].replace(/-/g, '/'));
});
当然,始终在您的目标浏览器上进行测试,因为这也从未被指定。
例如,在 IE8 和更早版本上:
display(Date.parse("2012-06-01 14:22:17"));
...是 NaN
,但是:
display(Date.parse("2012/06/01 14:22:17"));
...是 1338556937000
。
关于Javascript 比较时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11189526/