JavaScript 按日期排序

标签 javascript sorting date

我有一个 JavaScritpt 日期排序问题。我有一个最多包含 24 个日期的数组,需要按降序排序。日期采用完整日期格式。我成功转换为 mm/dd/yyyy。我意识到我不能使用排序,我相信我需要进行排序比较。

我的日期如下所示

eventDatesArrray = ,11/30/2014,12/31/2018,12/31/2013,10/11/2016,10/12/2015

我确实引用了Sort Javascript Object Array By Date 。我很抱歉,但我不相信我完全理解它是如何工作的,因为我继续收到一条错误消息,指出我没有传递参数。不确定如何将 a 和 b 传递给此函数。

var sortedEventDates = eventDatesArrray .sort(function(a, b) {
    return a>b ? -1 : a<b ? 1 : 0;
});

预先感谢您的帮助。 艾里森

最佳答案

如果日期是字符串:

dates = ["10/12/2014", "12/12/2015", "12/31/2015", "14/08/2015"]

dates.sort(function(a, b) {
    var parseDate = function parseDate(dateAsString) {
            var dateParts = dateAsString.split("/");
            return new Date(parseInt(dateParts[2], 10), parseInt(dateParts[1], 10) - 1, parseInt(dateParts[0], 10));
        };

    return parseDate(b) - parseDate(a);
});

["12/31/2015", "12/12/2015", "14/08/2015", "10/12/2014"]

关于JavaScript 按日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38946391/

相关文章:

php - 如何从网页读取客户端文件头?

javascript - Node.js错误: require is not defined in clientside js file

javascript - 在 Firefox 附加组件 SDK 中使用 port.on 传递数据

javascript - 奇怪的日期/时间差异?

c# - 在 C# 中从更接近今天的列表中获取下一个日期

javascript - 正则表达式全局替换不替换第一次出现的情况

c# - 如何提高非虚拟化 DataGrid 的排序性能?

sorting - Flutter类型 '_InternalLinkedHashMap<String, dynamic>'不是 'Comparable<dynamic>'类型的子类型

sql - 查找开始/结束日期范围覆盖范围上限超过 20 天的 ID

Javascript 排序以匹配 SQL Server 排序