当前位置: 首页 > 知识库问答 >
问题:

收藏。sort(,new Comparator)未正确比较日期

终洛华
2023-03-14

我有一个在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个答案

岑经纶
2023-03-14

在您的SimpleDataFormat中,使用HH几个小时,而不是HH

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

如文件中所述:

H   Hour in day (0-23)
h   Hour in am/pm (1-12)
 类似资料:
  • 此项目是一个可编辑的字典程序。我正在尝试循环浏览已添加到词典中的单词,并将用户通过扫描仪输入的单词与已添加的单词进行比较。我的问题是,无论输入多么准确,我创建的异常总是被调用。我不确定异常是否错误,或者字符串是否比较不正确。字典中的单词是从一个名为“dictionary.txt”的文件中读取的。如果有帮助,程序将使用输入/输出。这是代码。。。。请帮忙!!

  • 我们的一些用户在排序列表时遇到了这个异常。抛出它的代码是 而 getTime() 的类型为 “long”

  • 问题内容: 我在db中有类型的字段。我使用PostgreSQL。和查询 不返回行中的值是。 但是例如查询 正常工作。 如何解决此问题并获取行? 问题答案: 要 解决 您的问题,请改用数据类型 ,该数据类型不是浮点类型,而是任意精度类型。 如果将数字文字 输入到(相同的单词,不同的含义)列中,则会存储 确切的 数量- 与a或column列不同,在该列中,值被强制为下一个可能的二进制近似值。这可能是正

  • 这个问题最近在一次采访中被问到。 这是我使用的以下方法 1)创建一个最大堆priority_queue来存储最近的点

  • 轻触(near)>[开始]>(收藏)可显示目前为止所收集的信息、道具或移动的距离等历史记录数据。 A ) 自己的虚拟形象 轻触可确认最近游玩的游戏(5个游戏)和自己公布的道具。 B ) 目前为止所收集的道具数量 C ) 目前为止所找到的游戏数量 D ) 目前为止擦身而过的人数 显示朋友、曾一起游玩的玩家和擦身而过的人数。 若自己未公开在线ID,擦身而过的人则无法列入计算。 E ) 目前为止的移动距

  • 所以今年早些时候,我在大学里接到了一个任务。任务是使用OOP程序创建一个停车场管理系统。例如,我们学习了如何使用继承、抽象类和实例。我已经完成了并通过了这个作业,所以这个问题只是为了知识目的。其中一个任务是按时间顺序对对象的 Array 列表进行排序。为此,我们学习了可比/比较器方法。但是,我无法理解它,也无法做到这一点。问题是,我们必须对数组列表中的“Vehicle”对象中的“DateTime”