记录:LocalDateime ->compareTo(), isAfter(),isBefore(),isEqual() 自我理解
public static void main(String[] args) {
String LI="30/10/2019";
String L2="30/10/20"; String T2="12:50:01";
String L3="29/10/20"; String T3="13:50:01";
String L4="30/10/20"; String T4="00:00:01";
String L5="30/10/20"; String T5="12:51:01";
// first way -> DD/MM/YY-> dd/mm/yyyy
Date date=null;
try {
date = new SimpleDateFormat("dd/mm/yy").parse(L2);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(new SimpleDateFormat("dd/mm/20yy").format(date));
stringCompare c=new stringCompare();
LocalDateTime dte2=c.datime(L2,T2);
LocalDateTime dte3=c.datime(L3,T3);
LocalDateTime dte4=c.datime(L4,T4);
LocalDateTime dte5=c.datime(L5,T5);
System.out.println(dte2.toString()+" compareTo "+dte2+" ? "+dte2.compareTo(dte2));
System.out.println(dte2.toString()+" compareTo "+dte3+" ? "+dte2.compareTo(dte3));
System.out.println(dte2.toString()+" compareTo "+dte4+" ? "+dte2.compareTo(dte4));
System.out.println(dte2.toString()+" compareTo "+dte5+" ? "+dte2.compareTo(dte5));
System.out.println();
System.out.println(dte2.toString()+" isAfter "+dte2+" ? "+dte2.isAfter(dte2));
System.out.println(dte2.toString()+" isBefore "+dte2+" ? "+dte2.isBefore(dte2));
System.out.println(dte2.toString()+" isEqual "+dte2+" ? "+dte2.isEqual(dte2));
System.out.println();
System.out.println(dte2.toString()+" isAfter "+dte3+" ? "+dte2.isAfter(dte3));
System.out.println(dte2.toString()+" isBefore "+dte3+" ? "+dte2.isBefore(dte3));
System.out.println(dte2.toString()+" isEqual "+dte3+" ? "+dte2.isEqual(dte3));
System.out.println();
System.out.println(dte2.toString()+" isAfter "+dte4+" ? "+dte2.isAfter(dte4));
System.out.println(dte2.toString()+" isBefore "+dte4+" ? "+dte2.isBefore(dte4));
System.out.println(dte2.toString()+" isEqual "+dte4+" ? "+dte2.isEqual(dte4));
System.out.println();
System.out.println(dte2.toString()+" isAfter "+dte5+" ? "+dte2.isAfter(dte5));
System.out.println(dte2.toString()+" isBefore "+dte5+" ? "+dte2.isBefore(dte5));
System.out.println(dte2.toString()+" isEqual "+dte5+" ? "+dte2.isEqual(dte5));
}
// Second way -> DD/MM/YY-> YYYY-MM-DD
public LocalDateTime datime(String L2, String T2)
{
LocalDate date2=LocalDate.of(Integer.parseInt("20"+L2.split("/")[2]) ,Integer.parseInt( L2.split("/")[1]),
Integer.parseInt(L2.split("/")[0]));
String date2string=date2.toString();
LocalTime Time=LocalTime.parse(T2);
String timestring=Time.toString();
LocalDateTime datime=LocalDateTime.of(date2, Time);
String datimeString=datime.toString();
System.out.println(date2);
System.out.println(timestring);
System.out.println(datimeString);
return datime;
}
Test Result:
30/10/2020
2020-10-30
12:50:01
2020-10-30T12:50:01
2020-10-29
13:50:01
2020-10-29T13:50:01
2020-10-30
00:00:01
2020-10-30T00:00:01
2020-10-30
12:51:01
2020-10-30T12:51:01
2020-10-30T12:50:01 compareTo 2020-10-30T12:50:01 ? 0
2020-10-30T12:50:01 compareTo 2020-10-29T13:50:01 ? 1
2020-10-30T12:50:01 compareTo 2020-10-30T00:00:01 ? 1
2020-10-30T12:50:01 compareTo 2020-10-30T12:51:01 ? -1
2020-10-30T12:50:01 isAfter 2020-10-30T12:50:01 ? false
2020-10-30T12:50:01 isBefore 2020-10-30T12:50:01 ? false
2020-10-30T12:50:01 isEqual 2020-10-30T12:50:01 ? true
2020-10-30T12:50:01 isAfter 2020-10-29T13:50:01 ? true
2020-10-30T12:50:01 isBefore 2020-10-29T13:50:01 ? false
2020-10-30T12:50:01 isEqual 2020-10-29T13:50:01 ? false
2020-10-30T12:50:01 isAfter 2020-10-30T00:00:01 ? true
2020-10-30T12:50:01 isBefore 2020-10-30T00:00:01 ? false
2020-10-30T12:50:01 isEqual 2020-10-30T00:00:01 ? false
2020-10-30T12:50:01 isAfter 2020-10-30T12:51:01 ? false
2020-10-30T12:50:01 isBefore 2020-10-30T12:51:01 ? true
2020-10-30T12:50:01 isEqual 2020-10-30T12:51:01 ? false
总结:
00:00:00 早。
dt2.compareTo (Dt3)->
如果dt2 与dt3 一样,返回0
如果dt2 比dt3 晚,返回1
如果dt2 比dt3 早,返回1
dt2.isAfter (Dt3)->如果dt2 比dt3 晚,返回True
dt2.isBefore (Dt3)->如果dt2 比dt3 早,返回True
dt2.isEqual(Dt3)->如果dt2 与dt3 一样,返回True

浙公网安备 33010602011771号