Collections.sort(<stringdate>,new Comparator)没有正确比较日期</stringdate>

时间:2014-12-09 05:16:09

标签: java sorting date jodatime

我有一个日期列表,以dd.MM.YYYY HH:mm格式存储为字符串当我尝试对这些日期进行排序时,除了00小时和12小时值之外,我得到的所有值都被正确排序

阵列的间隔为15分钟,因此在排序后我会得到类似

的内容
00:15, 12:15, 00:30, 12:30, 00:45, 12:45, 1:00, 1:15, 1:30....

以下是排序代码

Collections.sort(dates, new Comparator<String>() {
            DateFormat f = new SimpleDateFormat("dd.MM.yyyy hh:mm");
            @Override
            public int compare(String o1, String o2) {
                try {
                    return f.parse(o1).compareTo(f.parse(o2));
                } catch (ParseException e) {
                    throw new IllegalArgumentException(e);
                }
            }
        });

请在这里帮助我如何继续这个

1 个答案:

答案 0 :(得分:2)

SimpleDateFormat中,使用HH数小时而不是hh

DateFormat f = new SimpleDateFormat("dd.MM.yyyy HH:mm");

documentation中所述:

H   Hour in day (0-23)
h   Hour in am/pm (1-12)