如何在java中比较两个日期以及时间

2022-09-01 21:47:45

我有两个具有以下格式的 Date 对象。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
String matchDateTime = sdf.parse("2014-01-16T10:25:00");
Date matchDateTime = null;

try {
    matchDateTime = sdf.parse(newMatchDateTimeString);
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

// get the current date
Date currenthDateTime = null;
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date dt = new Date();
String currentDateTimeString = dateFormat.format(dt);
Log.v("CCCCCurrent DDDate String is:", "" + currentDateTimeString);

try {                   
    currenthDateTime = sdf.parse(currentDateTimeString);
} catch (ParseException e) {
    // TODO Auto-generated catch block 
    e.printStackTrace();
}

现在我想将上述两个日期与时间进行比较。我应该如何在Java中比较。

谢谢


答案 1

由于实现了,它就像:DateComparable<Date>

date1.compareTo(date2);

根据合约规定,如果分别被视为小于/相同/大于(即,在这种情况下,在之前/相同/之后),它将返回一个负整数/零/正整数。Comparabledate1date2

请注意,还有 和 方法将返回布尔值。Date.after().before()


答案 2

另一种选择是....

将两个日期转换为毫秒,如下所示

Date d = new Date();
long l = d.getTime();

现在比较两个长整型值