gpt4 book ai didi

javascript - 排序日期 (Y-M-D h-m-s) 排序不正确

转载 作者:行者123 更新时间:2023-11-30 14:33:04 25 4
gpt4 key购买 nike

我有一个要按创建日期排序的对象列表。这是我的相关代码:

  dateToLocalString(date) {
date = new Date(date);
const year = date.getFullYear();
const month = date.getMonth() < 10 ? "0" + date.getMonth() : date.getMonth();
const day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
const hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
const minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
const seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() :
date.getSeconds();

return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}

const AscOrder = function x(order) {
return function(a, b) {
if(order === 'status') {
if(a[order].split(' ')[1] < b[order].split(' ')[1]) return -1;
if(a[order].split(' ')[1] > b[order].split(' ')[1]) return 1;
return 0;
}
if(a[order] < b[order]) return -1;
if(a[order] > b[order]) return 1;
return 0;
};
};


switch (this.state.sortDevSpacesBy) {
case 'CREATED' : devSpaceList.sort(AscOrder('createdAt'));
break;
case 'CREATED_DESC' : devSpaceList.sort(DescOrder('createdAt'));
break;
}

但它没有正确排序我的日期,Y-M-D 排序正确,但时间似乎有问题:

降序: - 2018-04-24 12:53:50 - 2018-05-15 15:21:15 - 2018-05-15 15:03:04 - 2018-05-15 11:55:07

最佳答案

出于这样的原因,我通常在排序之前将所有日期转换为纪元以来的时间;例如:

let d = new Date()
d.getTime() //-> 1529070578437

这有效地消除了许多棘手的边缘情况(例如闰年)和其他复杂的转换例程。

我尽可能多地使用这种格式的日期,并且只在必要时进行转换;例如,以他们的语言环境格式向用户显示。

关于javascript - 排序日期 (Y-M-D h-m-s) 排序不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50876891/

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