工作中经常会遇到日期的比较,下面介绍三种最简单的比较方式
package com.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTest02 {
public static void main(String[] args) {
//定义里两个时间
String beginTime=new String("2019-07-08 17:22:22");
String endTime=new String("2019-07-09 17:40:22");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date sd1= null;
Date sd2= null;
try {
sd1 = df.parse(beginTime);
sd2 = df.parse(endTime);
} catch (ParseException e) {
e.printStackTrace();
}
//1.直接用Date自带方法before()和after()比较
System.out.println(sd1.before(sd2));
System.out.println(sd1.after(sd2));
//2.String的compareTo()方法比较
Integer i=beginTime.compareTo(endTime);
//返回正值是代表左侧日期大于参数日期(左侧日期在右侧日期之前),反之亦然,日期格式必须一致
System.out.println(i);
//3.转成date格式换成秒数比较秒数大小,getTime()方法 正数说明第一个时间在第二个时间之前后,反之亦然。
long long1 =sd1.getTime();
long long2= sd2.getTime();
System.out.println(long1);
System.out.println(long2);
System.out.println(long1-long2);
}
}
复制代码
运行结果
true
false
-1
1562577742000
1562665222000
-87480000
复制代码