gpt4 book ai didi

javascript - 对字符串日期数组进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:42:26 25 4
gpt4 key购买 nike

我在 javascript 中有一个数组,看起来像这样

Array[9]
0: "01/06/2016"
1: "02/06/2016"
2: "23/05/2016"
3: "24/05/2016"
4: "25/05/2016"
5: "26/05/2016"
6: "27/05/2016"
7: "28/05/2016"
8: "31/05/2016"
length: 9__proto__: Array[0]

我想订购它们,所以最早的日期在前,最近的在最后。我试过了

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

但我猜是因为日期的格式?这是行不通的。我还能尝试什么?

预期输出

Array[9]
0: "23/05/2016"
1: "24/05/2016"
2: "25/05/2016"
3: "26/05/2016"
4: "27/05/2016"
5: "28/05/2016"
6: "31/05/2016"
7: "01/06/2016"
8: "02/06/2016"
length: 9__proto__: Array[0]

最佳答案

您可以将字符串拆分为年、月、日,并使用它来创建用于比较的日期。

new Date("01/06/2016") 不会像您想象的那样被解析。结果实际上是 Jan 06 2016

days = ["01/06/2016", "02/06/2016", "23/05/2016", "24/05/2016", "25/05/2016", "26/05/2016", "27/05/2016", "28/05/2016", "31/05/2016"];
days.sort(function(a, b) {
aArr = a.split('/');
bArr = b.split('/');
return new Date(aArr[2], Number(aArr[1])-1, aArr[0]).getTime() - new Date(bArr[2], Number(bArr[1])-1, bArr[0]).getTime()
});
console.log(days);

关于javascript - 对字符串日期数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37588090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com