javascript - JQuery 按日期对元素进行排序,格式为 dd/mm/yyyy

标签 javascript jquery sorting

我有一个元素数组,所有元素都具有 dueDate 属性。

但是,日期采用 dd/MM/yyyy 格式。

<div class="taskItem" dueDate="02/02/2016"></div>
<div class="taskItem" dueDate="20/02/2016"></div>
<div class="taskItem" dueDate="01/02/2016"></div>

当我进行以下排序时;

    $('.taskItem').sort(function (a, b) {
        var contentA = Date.parse($(a).attr('dueDate'));
        var contentB = Date.parse($(b).attr('dueDate'));
        console.log(contentA)
        return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0;
    })

我收到类似于 20/02/2016 的日期错误。 2016 年 2 月 20 日。日/月/年

最佳答案

将排序方法更改为 demo

    function toDate(value)
    {
       var from = value.split(" ")[0].split("/");
       return (new Date(from[2], from[1] - 1, from[0]));
    }
    $('.taskItem').sort(function (a, b) {
        var contentA = toDate($(a).attr('dueDate')).getTime(); //assuming that attribute value will always be a valid date
        var contentB = toDate($(b).attr('dueDate')).getTime();
        console.log(contentA);
        return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0;
    });

比较以毫秒为单位的时间而不是整个日期字符串

关于javascript - JQuery 按日期对元素进行排序,格式为 dd/mm/yyyy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35473428/

相关文章:

javascript - 如何使用对象设置 jQuery.data()

javascript - 当以编程方式更改输入时,更改的解决方案不起作用

jQuery Bootstrap Timepicker 开始和结束时间

python - 如何获得在python中复制文件的正确顺序?

javascript - 嵌套对象的 JQuery 扩展 - 在扩展上设置 props 也会更改原始扩展对象

javascript - JQuery - 将 XML 对象反序列化为类类型?

javascript - MVC Javascript 按钮值不正确

javascript - ios 上 jQuery onchange 的问题

java - 使用 Guava 从 TreeMap 中提取最后一个 x 值

c - 检查数组是否按升序或降序排序的函数的 ACSL 证明