js 日期时间排序 数组

不多说直接show代码

var timeArr=[
{'id':'A01','date':'2016-04-20 23:22:11'},
{'id':'A02','date':'2016-04-21 21:00:11'},
{'id':'A03','date':'2016-04-23 22:00:22'},
{'id':'A04','date':'2016-04-19 12:22:00'},
{'id':'A05','date':'2016-02-19 11:11:00'}
];

timeArr.sort(function(a,b) {
return Date.parse(b.date.replace(/-/g,"/"))-Date.parse(a.date.replace(/-/g,"/"));
});

Arr.sort是js自带的排序方法,根据字符编码的顺序进行排序(数组在原数组上进行排序)

Date.parse()作用是将日期时间转换成毫秒进行对比;

replace(/-/g,"/")是兼容ie和火狐的方法,因为ie和火狐的默认日期格式是2016/04/20 23:22:11,所以必须进行替换。

结果如下:

id=A03 date=2016-04-23 22:00:22
id=A02 date=2016-04-21 21:00:11
id=A01 date=2016-04-20 23:22:11
id=A04 date=2016-04-19 12:22:00
id=A05 date=2016-02-19 11:11:00

解决问题。

 

posted @ 2016-04-26 14:43  to_Matthew  阅读(7452)  评论(0编辑  收藏  举报