jQuery日期排序

可能重复:
通过将字符串转换为日期格式来进行Javascript日期排序

我在jquery中表现不佳,所以我想知道是否有一种方法或插件可用于排序日期div。 我在YYYY有约会:MM:DD HH:MM:SS格式。 我在div中显示日期,如下所示。 Div是无序格式,我想先在最新日期对它们进行排序。

2012-04-15 10:25:45
2012-04-10 19:41:08
2012-04-20 07:00:10
2012-04-12 16:45:50

谢谢

我对插件了解不多……虽然如果你想要一个没有插件的轻量级方法,你可以试试这个:

HTML:

 
2012-04-15 10:25:45
2012-04-10 19:41:08
2012-04-20 07:00:10
2012-04-12 16:45:50

对于js:

 var elems = $.makeArray($(".dateDiv")); elems.sort(function(a, b) { return new Date( $(a).text() ) < new Date( $(b).text() ); }); $("#D").html(elems); 

更新
感谢CMS回答有关解析日期的问题: 为什么Date.parse会给出错误的结果?

 function parseDate(input) { var parts = input.match(/(\d+)/g); // new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]]) return new Date(parts[0], parts[1]-1, parts[2], parts[3], parts[4], parts[5]); // months are 0-based } var elems = $.makeArray($(".dateDiv")); elems.sort(function(a, b) { console.log( parseDate( $(a).text() ) ); return parseDate( $(a).text() ) < parseDate( $(b).text() ); }); $("#D").html(elems);​ 

现在,不要告诉我这不起作用......呵呵

您可以使用date.js库与此分类器函数结合执行此操作:

 $('#dateDiv').sortElements(function(a, b){ return Date.parse($(a).text()) > Date.parse($(b).text()) ? 1 : -1; }); 

原始的回购没有被维护,但是它的更新分支似乎正在进行中。