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());//相差年份