记录: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

posted @ 2020-07-17 13:34  A_Jing  阅读(737)  评论(0)    收藏  举报