6

現在の時刻から古い時刻に日付を並べ替えることができる、ユーザー定義の関数が必要です。

最近の日付からこれらの日付を並べ替えたい10の日付のリストがあります。

現在、ミリ秒単位で日付を変換できれば、それを現在のミリ秒と比較し、最小のミリ秒が最近の日付になるというロジックがあります。あれは、

CURRENT_MILLI_SECOND - A_DATE_CONVERTED_TO_MILLI_SECONDS = MILLI-SECONDS

誰かがこのロジックまたは他のロジックで私を助けることができるかどうか私に提案してください...!!!

これは私がサーバーから取得しているフォーマットです:

Thu Dec 27 11:02:43 GMT+05:30 2012
4

7 に答える 7

7

Comparatorを使用して、 compare()を使用してデータを並べ替えることができます。

Collections.sort(dateList, new Comparator<Date>(){
           public int compare(Date date1, Date date2){
          return date1.after(date2);
        }
      });
于 2012-12-27T05:53:09.513 に答える
5

これを試して:

 Comparator date_comparator = new Comparator() {
    @Override
    public int compare(Date date1, Date date2){
    return date1.compareTo(date2);
    }
    };
于 2012-12-27T06:08:12.217 に答える
1

Calendarまたはクラスを使用Dateしてそうすることができます。calendar と Date を使用すると、 date1.compare(date2)またはdate.before(date2)またはdate1.after(date2 ) のような 2 つの日付を比較できます。そのような API はケースで利用できます。

于 2012-12-27T05:55:45.970 に答える
0

あなたを助ける私の要点があります。関数のパラメーターにソートされていない日付文字列と日付パターンを渡すだけSortedDateGenerator.getSortedDates(List<String> unSortedDate,String datePattern) で、ソートされた日付の文字列が取得されます。代わりにオブジェクトが必要な場合はDate、要件として私のコードを変更できます。

于 2019-12-18T06:57:04.173 に答える
0

JavaのDateクラスとCalendarクラスには、日付を比較するための優れた API が既に用意されています。

これを使用して、日付をソートする独自の関数を作成できます。

このリンクを参照できます。

于 2012-12-27T06:00:22.383 に答える