簡體   English   中英

如何比較日期-自定義格式為“ dd.MM.yyyy,HH:mm:ss”的字符串與另一個字符串?

[英]How to compare a date - String in the custom format “dd.MM.yyyy, HH:mm:ss” with another one?

我必須相互檢查以自定義格式"dd.MM.yyyy, HH:mm:ss" 2個日期String 我怎樣才能長大一點呢?

例如 :

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

有沒有辦法通過比較來獲取date2

我只給您簡要說明您應該如何進行。 您需要首先將這些日期字符串解析為Date對象。 為此使用DateFormat#parse(String) 從這些字符串中獲取Date對象之后,可以使用Date#compareTo(Date)方法比較那些對象。

您已經有了日期格式,將其與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對象。

使用日期和時間進行計算總是很棘手,我強烈建議為此使用適當的類,您可能需要為此檢查Joda Time

他們的類提供了諸如daysBetween之類的方法,可為您提供所需的結果。

當然,您必須解析您的String才能首先給您一個代表該日期和時間的對象。

暫無
暫無

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

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