【问题标题】:how to sort the array list by date in ascending order? [duplicate]如何按日期升序对数组列表进行排序? [复制]
【发布时间】:2018-06-14 05:17:17
【问题描述】:

我想按日期升序对 ToDo 列表进行排序。你能帮我吗,我是android领域的初学者enter link description here

【问题讨论】:

  • 欢迎@santhosh karthik 在直接在这里发布问题之前做一些研究。这肯定是重复的。
  • 你可以在这里找到升序和降序的答案stackoverflow.com/a/66772568/5915318

标签: android sorting date arraylist


【解决方案1】:

试试这个日期的升序和降序

  Collections.sort(arrayList, byDate);

方法升序和降序

     static final Comparator<HomeModel> byDate = new Comparator<HomeModel>() {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy,MM,dd");

    public int compare(HomeModel ord1, HomeModel ord2) {
        Date d1 = null;
        Date d2 = null;
        try {
            d1 = sdf.parse(ord1.eventdate);
            d2 = sdf.parse(ord2.eventdate);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


        //return (d1.getTime() > d2.getTime() ? -1 : 1);     //descending
       return (d1.getTime() > d2.getTime() ? 1 : -1);     //ascending
    }
    };

【讨论】:

  • 这很好。谢谢
【解决方案2】:
private void sortOldToNew() {
        if (inspectionDataArrayList == null)
            inspectionDataArrayList = new ArrayList<>();

        Collections.sort(inspectionDataArrayList, new Comparator<ClsInspection>() {
            public int compare(ClsInspection o1, ClsInspection o2) {
                String strDt1 = o1.getInspectionDateTime(); // your first date here
                String strDt2 = o2.getInspectionDateTime(); // second date here

                if (Utility.isValueNull(strDt1) || Utility.isValueNull(strDt2))
                    return 0;
                else {
                    Date dt1 = Utility.convertStringDateToDate(GMT_DATE_FORMAT, strDt1);
                    Date dt2 = Utility.convertStringDateToDate(GMT_DATE_FORMAT, strDt2);
                    if (dt1 == null || dt2 == null)
                        return 0;
                    return dt1.compareTo(dt2);
                }
            }
        });
        setAdapter(inspectionDataArrayList);
    }

在哪里String GMT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多