我必须以String
自定义格式检查 2 date"dd.MM.yyyy, HH:mm:ss"
相互检查 2 个 date 。怎样才能买到老款?
例如 :
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 以给您一个表示此日期和时间的 Object。