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

解决问题。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM