簡體   English   中英

用Javascript排序日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM