LocalDate LocalTIme LocalDateTime是java8 对日期、时间提供的接口。
这几个类相对于Date更像是一个工具类,里面包含了操作时间的很多方法
由于是final修饰的类,所以不能继承,没有子类 并且构造方法是私有的,不可以通过new来生成对象
LocalDateTime相对于Date类线程更安全
获取当前日期的对象
LocalDate localDate=LocalDate.now();System.out.println(localDate);//返回值是 LocalDate 由于 改类重写了toString方法 所以可以直接输出
设置某个日期
LocalDate localDate1=LocalDate.of(1999,10,10);System.out.println(localDate1);//获得 LocalDate实例从一年、月、日。 返回值是LocalDate//由于 of是静态类只能通过类名调用,不可以通过对象调用
添加日期
localDate1= localDate1.plusDays(1);//添加天数,返回LocalDate类 localDate1= localDate1.plusMonths(2);//添加月份,返回LocalDate类 localDate1= localDate1.plusYears(1);//添加年份,返回LocalDate类 localDate1= localDate1.plusWeeks(1);//添加天数,每次添加1星期,返回LocalDate类System.out.println(localDate1);
检测是否闰年
localDate1.isLeapYear();//检测改年是否是闰年
获取日期长度
localDate1.lengthOfMonth();//获取该月的长度(天) localDate1.lengthOfYear()//获取改年的长度(天)System.out.println("本月共:"+localDate1.lengthOfMonth()+"天,本年共:"+localDate1.lengthOfYear()+"天");
结合这个日期与时间创建一个
LocalDateTime
。
LocalDateTime localDateTime= localDate1.atTime(23,59,59);//返回值是LocalDateTimeSystem.out.println(localDateTime);//LocalDateTime类重写了toString方法
通过字符串转化为日期
String str="2022-02-02";DateTimeFormatter dt=DateTimeFormatter.ofPattern("yyyy-MM-dd")LocalDate localDate=LocalDate.parse(str,dt);System.out.println(localDate);