2013-08-17 67 views
0

我有一個像String date="June 02,2013"等日期.....的Java排序日期字段

我想以升序日期字段和降序

可以在任何一個幫助嗎?

我已經試過這個排序Title字段

按標題排序工作與後續代碼:

public void sortByTitle() { 
     Comparator<Show> comperator = new Comparator<Show>() { 
      @Override 
      public int compare(Show object1, Show object2) { 
       return object1.getTitle().compareToIgnoreCase(
         object2.getTitle()); 
      } 
     }; 
     Collections.sort(dataFromDB, comperator); 
     lv1.setAdapter(new CustomListViewAdapter(this, dataFromDB)); 
    } 
+3

你爲什麼要存儲的日期作爲字符串開始嗎?如果你可以改變你的領域是一個基於日期的領域(最好是Joda時間的LocalDate),它會讓你的生活變得更簡單。 –

+0

和'Date'對象在哪裏?你必須將該字符串轉換爲'日期'或使用類似Joda Time的庫,比java日期api更好 – nachokk

+0

你能幫忙嗎,如何將該字符串轉換爲日期格式? –

回答

3

嘗試......

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

您需要更改日期的格式在上面的代碼中。

更新: 更新日期格式檢查..