在javascript中按降序排序日期和时间

时间:2017-07-25 06:54:20

标签: javascript arrays sorting datetime

我生成了动态日期和时间,我需要使用JavaScript按降序对它们进行排序。

我的数据采用以下格式。

var array= ["25-Jul-2017 12:46:39 pm","25-Jul-2017 12:52:23 pm","25-Jul-2017 12:47:18 pm"];

任何人都会感激不尽。

3 个答案:

答案 0 :(得分:1)

以下是您的工作代码:



var array = ["25-Jul-2017 12:46:39 pm", "25-Jul-2017 12:52:23 pm", "25-Jul-2017 12:47:18 pm", "25-Jul-2017 12:59:18 pm"];

array.sort((a, b) => new Date(b).getTime() - new Date(a).getTime())

console.log(array)




答案 1 :(得分:0)



var array = ["25-Jul-2017 12:46:39 pm", "25-Jul-2017 12:52:23 pm", "25-Jul-2017 12:47:18 pm"];

array.sort(function(a, b) {
  return new Date(b) - new Date(a);
});

console.log(array);




答案 2 :(得分:0)

<强>样本

var array= ["25-Jul-2017 12:46:39 pm","25-Jul-2017 12:52:23 pm","25-Jul-2017 12:47:18 pm"];
var dateAr = [];

for(var i=0;i<array.length;i++){
 dateAr.push(new Date(array[i].replace(/-/g,'/')).getTime()); //convert to milisecond
}


var sortAr = dateAr.sort(function (a, b) {  return a - b;  }); //sort it

var resArr = [];
for(var i=0;i<array.length;i++){
 resArr.push(new Date(sortAr[i])); //make date object
}
console.log(resArr);

从Date转换为毫秒,然后对其进行排序。并从毫秒制作Date对象。使用此replace(/-/g,'/')替换日期字符串,它适用于所有浏览器。