簡體   English   中英

如何在Java中按日期/時間比較和排序列表?

[英]How to compare and order list by date/time in java?

我如何實現一個Java比較器類,該類可以對日期/時間字符串列表的順序進行排序?

像例如

我有

2012-06-15T12:01:00.000+08:00
2012-06-25T12:15:00.000+08:00
2012-06-08T00:00:00.000Z

然后應該像

2012-06-08T00:00:00.000Z
2012-06-15T12:01:00.000+08:00
2012-06-25T12:15:00.000+08:00

這里有兩個問題(因為直接解析字符串不起作用)。

  1. 將您的字符串轉換為日期。 有關更多信息,請參見SimpleDateFormatDateFormat.parse()方法。
  2. 使用Collections.sort對集合中的后續日期進行排序。

將它們解析為java.util.Date 日期已實施Comparable

好吧,如果您想快速解決問題,請按照以下步驟進行操作。

http://www.ltg.ed.ac.uk/NITE/nxt/apidoc/net/sourceforge/nite/util/SortedList.html

另外,如果您對自己的密信感到滿意,那么每個日期都會有所不同,那么請使用TreeSet。您可以按以下方式使用它們。

創建一個新的TreeSet並繼續在其中添加日期。 如果TreeSet實現了可比較的對象(或提供的比較器),則它將自動排序,因為TreeSet對其包含的所有對象進行排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM