我有一个日期列表,以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);
}
}
});
请在这里帮助我如何继续这个
答案 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)