方法一:
两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
实际上比较的是自1970 年 1 月 1 日 00:00:00 GMT以来的毫秒数。毫秒数越大的时间越大。 String DateStr1 = "2014-08-21 10:20:16"; String DateStr2 = "2014-08-27 15:50:35"; DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date dateTime1 = dateFormat.parse(DateStr1); Date dateTime2 = dateFormat.parse(DateStr2); int i = dateTime1.compareTo(dateTime2); System.out.println(i < 0);
方法二:
Date a; Date b; 假设现在你已经实例化了a和b a.after(b)返回一个boolean,如果a的时间在b之后(不包括等于)返回true b.before(a)返回一个boolean,如果b的时间在a之前(不包括等于)返回true a.equals(b)返回一个boolean,如果a的时间和b相等返回true 方法三: public class test {
public static void main(String args[]) {
int i= compare_date("1995-11-12 15:21", "1999-12-11 09:59"); System.out.println("i=="+i); }public static int compare_date(String DATE1, String DATE2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm"); try { Date dt1 = df.parse(DATE1); Date dt2 = df.parse(DATE2); if (dt1.getTime() > dt2.getTime()) { System.out.println("dt1 在dt2前"); return 1; } else if (dt1.getTime() < dt2.getTime()) { System.out.println("dt1在dt2后"); return -1; } else { return 0; } } catch (Exception exception) { exception.printStackTrace(); } return 0; } }资料来源于网络收集转载.