1

Stringカスタム形式の2 つの日付を互いにチェックする必要があります"dd.MM.yyyy, HH:mm:ss"。どうすれば古いものを手に入れることができますか?

例えば ​​:

String date1 = "05.02.2013, 13:38:14";
String date2 = "05.02.2013, 09:38:14";

date2比較して取得する方法はありますか?

4

3 に答える 3

5

どのように進めればよいかを簡単に説明します。Date最初にこれらの日付文字列をオブジェクトに解析する必要があります。そのために使用DateFormat#parse(String)します。これらの文字列からオブジェクトを取得したら、メソッドDateを使用してそれらのオブジェクトを比較できますDate#compareTo(Date)

于 2013-07-14T21:05:59.130 に答える
1

すでに日付形式があり、それを使用してSimpleDateFormat、作成されたオブジェクトを比較Dateします。

ここでデモを参照してください。サンプルコード:

public static void main(String[] args)  Exception {
    String date1 = "05.02.2013, 13:38:14";
    String date2 = "05.02.2013, 09:38:14";
    System.out.println(getOlder(date1, date2)); // 05.02.2013, 13:38:14
    System.out.println(getOlder(date2, date1)); // 05.02.2013, 13:38:14
}

public static String getOlder(String one, String two) throws ParseException {
    Date dateOne = new SimpleDateFormat("dd.MM.yyyy, HH:mm:ss").parse(one);
    Date dateTwo = new SimpleDateFormat("dd.MM.yyyy, HH:mm:ss").parse(two);
    if (dateOne.compareTo(dateTwo) > -1) {
        return one; // or return dateOne;
    }
    return two; // or return dateTwo;
}

もちろん、上記のメソッドは、入力された最も古い日付文字列を返します。Date代わりにオブジェクトを返すように変更できます (コメントを参照) 。

于 2013-07-14T21:10:56.823 に答える
0

日付と時刻の計算は常に難しいので、これには適切なクラスを使用することを強くお勧めします。これについては Joda Timeを確認することをお勧めします。

それらのクラスは、必要な結果を提供するdaysBetweenなどのメソッドを提供します。

もちろん、最初にこの日付と時刻を表すオブジェクトを取得するには、文字列を解析する必要があります。

于 2013-07-14T21:09:03.450 に答える