jQuery日期排序 [英] jQuery date sorting
本文介绍了jQuery日期排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在jquery中不太好,所以我想知道是否有一种方式或插件可以用来排序日期div。我在YYYY有日期:MM:DD HH:MM:SS格式。我在div中显示日期,如下所示。 Div是无序的格式,我想按照最新的日期排序。
I am not good in jquery so I was wondering if there is a way or plugin I can use to sort date divs. I have date in YYYY:MM:DD HH:MM:SS format. I am displaying date in divs as shown below. Divs are in unordered format and I want to sort them on latest date first basis.
<div id="dateDiv">2012-04-15 10:25:45</div>
<div id="dateDiv">2012-04-10 19:41:08</div>
<div id="dateDiv">2012-04-20 07:00:10</div>
<div id="dateDiv">2012-04-12 16:45:50</div>
谢谢
推荐答案
我不太了解插件...虽然如果你想要一个没有插件的轻量级方法,你可以尝试这样:
I don't know much about plugins...although if you want a light weight method without plugins, you may try this:
html: / p>
html:
<div id="D">
<div class="dateDiv">2012-04-15 10:25:45</div>
<div class="dateDiv">2012-04-10 19:41:08</div>
<div class="dateDiv">2012-04-20 07:00:10</div>
<div class="dateDiv">2012-04-12 16:45:50</div>
</div>
对于js:
var elems = $.makeArray($(".dateDiv"));
elems.sort(function(a, b) {
return new Date( $(a).text() ) < new Date( $(b).text() );
});
$("#D").html(elems);
更新:
感谢CMS回答关于解析日期的问题: JavaScript 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);
不要告诉我这不行,呵呵
Now, don't tell me this doesn't work...hehe
这篇关于jQuery日期排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文