简述
相对Date来说,LocalDate作为一个Java 8的新特性,处理时间更加的通用。
基本应用
import java.time.LocalDate;import java.time.LocalDateTime;import java.time.Period;import java.time.format.DateTimeFormatter;import java.time.temporal.ChronoUnit;public class Test{public static void main(String[] args) {//初始化方式一,直接获取当前的时间LocalDate mLocalDate1 = LocalDate.now();//初始化方式二LocalDate mLocalDate2 = LocalDate.parse("2022-12-22");//初始化方式二LocalDate mLocalDate3 = LocalDate.parse("2022年12月23日",DateTimeFormatter.ofPattern("yyyy年MM月dd日"));//时间转String方式一System.out.println(mLocalDate3);//输出格式为2022-12-21//时间转String方式二System.out.println(mLocalDate3.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")));//输出格式为2022年12月23日//时间比较System.out.println(mLocalDate1.isAfter(mLocalDate2));//时间一是否在时间二之后System.out.println(mLocalDate1.isBefore(mLocalDate2));//时间一是否在时间二之前System.out.println(mLocalDate1.isEqual(mLocalDate2));//时间一和时间二一样//时间判断System.out.println(mLocalDate1.isLeapYear());//是否为闰年System.out.println(mLocalDate1.lengthOfMonth());//当月的最后一天为几号System.out.println(mLocalDate1.lengthOfYear());//当年是最后一天(365 or 366(闰年))//时间的间隔时长Period period = mLocalDate1.until(LocalDate.parse("2018-03-28"));System.out.println(period.getDays());//间隔天数System.out.println(period.getMonths());//间隔月数long val = mLocalDate1.until(LocalDate.parse("2018-03-28"), ChronoUnit.DAYS);//获取间隔的天数System.out.println(val);//修改日期LocalDate localDate4 = mLocalDate1.withDayOfMonth(3);//复制日期并将月份改为3月System.out.println(localDate4);LocalDateTime time = localDate4.atTime(12,59);//将LocalDate转为LocalDateTime并指定时间}}
