JAVA程序进阶——LocalDate、LocalTime、LocalDateTime
LocalDate LocalTIme LocalDateTime是java8 对日期、时间提供的接口。
这几个类相对于Date更像是一个工具类,里面包含了操作时间的很多方法
由于是final修饰的类,所以不能继承,没有子类 并且构造方法是私有的,不可以通过new来生成对象
LocalDateTime相对于Date类线程更安全
LocalDate
获取当前日期的对象
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);//返回值是LocalDateTime
System.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);