繁体   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