Java8中获取指定日期的年、月、日以及计算两个日期的相差数

1.获取指定日期的年月日

//日期转换,代替以前的SimpleDateFormat
 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 //获取当前日期
 LocalDate now = LocalDate.now();
 //获取指定日期
 LocalDate date= LocalDate.parse("2022-05-21 13:14:00",formatter);
 //获取年
 int year = date.getYear();
 //获取月
 int month = date.getMonthValue();
 //获取日
 int day = date.getDayOfMonth();

2. 获取总的相差间隔

//日期转换,代替以前的SimpleDateFormat
 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  LocalDate now = LocalDate.now();//获取当前日期
  LocalDate startDate = LocalDate.parse("2021-08-25",formatter);
  //相差天数
 int day = (int) startDate.until(now, ChronoUnit.DAYS);
 //相差月份
 int month = (int) startDate.until(now,ChronoUnit.MONTHS);
 //相差年份
int year= (int) startDate.until(now,ChronoUnit.YEARS);

3. 获取单独日期间隔

LocalDate start = LocalDate.of(2021,5,1);
    LocalDate end = LocalDate.now();
    System.out.println("end:"+end);
    Period next = Period.between(start,end);
    System.out.println("相差天数:"+next.getDays());//相差天数
    System.out.println("相差月数:"+next.getMonths());//相差月份
    System.out.println("相差年"+next.getYears());//相差年份