2012-06-15 81 views
0

我如何實現一個可以排序日期/時間字符串列表的順序的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 

回答

6

您有兩個問題在這裏(因爲直接解析字符串不會工作)。

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

進行分類解析他們進入java.util.Date。日期已實現Comparable

0

好吧,如果你想快速解決,它如下。

http://www.ltg.ed.ac.uk/NITE/nxt/apidoc/net/sourceforge/nite/util/SortedList.html。另外,如果你是知己,每一個日期都會有所不同,那麼請使用TreeSet。你可以按如下方式使用它們。

製作一個新的TreeSet並不斷在其中添加日期。它將被自動排序,如果它們實現了可比較的(或提供比較器),TreeSet會對它包含的所有對象進行排序。