[英]Sort date in Javascript
我已經從ajax查詢中檢索了一個新聞提要。 在此對象中,具有以下格式的日期:
Wed, 22 May 2013 08:00:00 GMT
我想按日期對所有對象進行排序。 是否可以使用Javascript來做到這一點?
更新
使用這段代碼可以正常工作!
array.sort(function(a,b){
var c = new Date(a.date);
var d = new Date(b.date);
return c-d;
});
1)您不能對對象進行排序。 對象鍵的順序是任意的。
2)如果要按日期對數組排序(它們已經是日期對象),請執行以下操作:
array.sort ( function (date1, date2){
return date1 - date2
});
如果您首先需要將它們轉換為日期對象,請執行以下操作(根據下面的注釋,遵循數據結構):
array.sort ( function (a, b){
return new Date(a.pubDate) - new Date(b.pubDate);
});
您也可以使用下划線/破折號sortBy
這里使用下划線js對日期進行排序:
var log = [{date: '2016-01-16T05:23:38+00:00', other: 'sample'},
{date: '2016-01-13T05:23:38+00:00',other: 'sample'},
{date: '2016-01-15T11:23:38+00:00', other: 'sample'}];
console.log(_.sortBy(log, 'date'));
sorting dates ascending or descending
times = ["01-09-2013", "01-09-2013", "27-08-2013", "27-08-2013", "28-08-2013", "28-08-2013", "28-08-2013", "28-08-2013", "29-08-2013", "29-08-2013", "30-08-2013", "30-08-2013", "31-08-2013", "31-08-2013"]
function dmyOrdA(a,b){ return myDate(a) - myDate(b);}
function dmyOrdD(a,b){ return myDate(b) - myDate(a);}
function myDate(s){var a=s.split(/-|\//); return new Date(a[2],a[1]-1,a[0]);}
times.sort(dmyOrdA);
console.log(times)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.