简单说明:
①Java1.8之后出现了localdate,localdatetime,localtime这些类,而这些类使用了final来修饰,使得这些类是不可变的,一旦实例化,值就固定了,有点类似于String类,所以这些类都是线程安全的。
②localdate是针对于年月日的,localtime是针对于时分秒,localdatetime是针对于年月日时分秒
这里的话主要讲解的是LocalDate类用来比较时间前后的一些方法使用
1.首先我想判断我某个时间是不是小于当前日期 (LocalDate的isBefore()方法)
示例:
//字符串的日期转为LocalDate格式的时间 LocalDate date1 = LocalDate.parse("2022-11-12"); LocalDate date2 = LocalDate.parse("2022-11-15"); //如果date1的日期在date2之前则为true if(date1.isBefore(date2)){ System.out.println("date1在日期之前"); }else{ System.out.println("date1在日期之后"); }
输出结果:
date1在日期之前
2.LocalDate的isAfter()使用
示例:
//字符串的日期转为LocalDate格式的时间 LocalDate date1 = LocalDate.parse("2022-11-12"); LocalDate date2 = LocalDate.parse("2022-11-15"); if( date1.isAfter(date2) ){ System.out.println("date1在date2之后"); }else{ System.out.println("date2在date1之后"); }
输出结果:
date2在date1之后
3.LocalDate的日期格式化
示例:
//加入一个字符串的日期需要格式化成LocalDate来进行计算 String date ="2022-10-22"; DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); //格式化日期(DateTimeFormatter是线程安全的,用于localData的时间格式化) LocalDate date2 = LocalDate.parse(date, dtf);
使用DateTimeFormatter 以此来进行LocalDate的时间格式化;