【java基础】两个日期的比较大小的几种方法。

String beginTime= "2021-09-14 08:22:10";
String endTime= "2021-09-14 08:22:20";

一、直接用Date自带方法before()和after()比较

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
System.out.println(sd1.before(sd2));
System.out.println(sd1.after(sd2));

  

Date1.after(Date2),当Date1大于Date2时,返回true,当小于等于时,返回false;
即Date2比Date1小的true/false,当Date2日期比Date1小的时候为true,否则为false

Date1.before(Date2),当Date1小于Date2时,返回true,当大于等于时,返回false;

二、用String的compareTo()方法:

Integer i=beginTime.compareTo(endTime);
System.out.println(i);

返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致

三、转成date格式换成秒数比较秒数大小,getTime()方法

Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
long long1 =sd1.getTime();
long long2= sd2.getTime();

附:日期和string的互转方法:


1、Date转String

Date d=new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String ds=df.format(d);

  

2、String转Date

String ds=new String("2017-06-09 10:22:22");
Date sd=ds.par

  

原文地址:https://www.cnblogs.com/Oxyy/p/15272713.html