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; });
原始的回购没有被维护,但是它的更新分支似乎正在进行中。