如何根据日期和时间对数组列表中的未来事件进行排序

时间:2018-08-29 10:21:39

标签: android datetime arraylist

如何对以下列表进行排序?以便根据日期和时间对值进行排序,排序后的预期输出应如下所示

我尽我所能,但没有取得结果,可以有人帮助我

27-08-2018 15:20:12

27-08-2018 12:20:10

26-08-2018 10:20:20

我的代码:-

     EventObject eventObject1 = new EventObject;
        eventObject1.setDateAndTime("27-08-2018 15:20:12")
        eventObject1.name("name1")
        EventArrayList.add(eventObject1)

        EventObject eventObject2 = new EventObject;
        eventObject2.setDateAndTime("27-08-2018 12:20:10")
        eventObject2.name("name2")
        EventArrayList.add(eventObject2)

        EventObject eventObject3 = new EventObject;
        eventObject3.setDateAndTime("26-08-2018 10:20:20")
        eventObject3.name("name2")
        EventArrayList.add(eventObject3)

 if (EventArrayList.size() > 0) {
                Collections.sort(EventArrayList, new Comparator<AuditListChildObject>() {
                    @Override
                    public int compare(final EventObject object1, final EventObject object2) {
                        return object1.getDateAndTime().compareTo(object2.getDateAndTime());
                    }
                });
            }

2 个答案:

答案 0 :(得分:1)

尝试一下

sort -t, datafile.csv>newdatafile.csv

答案 1 :(得分:0)

您是否考虑过将字符串解析为日期对象?

dateString = "27-08-2018 15:20:12"
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
Date date = dateFormat.parse(dateString);

日期对象应该具有可比性,因此可以使用

进行排序
Collections.sort(arrayOfDateObjects)

或使用自定义比较器,您可以在自定义的compare()方法中根据从字符串解析的日期来定义对对象进行排序。