1、Date
由于SimpleDateFormat
线程不安全,所以不推荐使用Date类型。jdk8之后,出现了新的日期类型:LocalDate、LocalTime、LocalDateTime
2、LocalDate
//当前日期
LocalDate date = LocalDate.now();
//自定义日期2021-10-10
LocalDate date = LocalDate.of(2021,10,10);
//一年中的第几天2021-07-19
LocalDate date = LocalDate.ofYearDay(2021,200);
//解析日期字符串
LocalDate date = LocalDate.parse("2021-10-10");
LocalDate date = LocalDate.parse("20211010", DateTimeFormatter.ofPattern("yyyyMMdd"));
//获取月份
Month month = LocalDate.now().getMonth();
int monthValue = LocalDate.now().getMonthValue();
//修改年份
LocalDate date1 = LocalDate.now().with(ChronoField.YEAR,2222);
LocalDate date2 = LocalDate.now().withYear(2222);
//加1年
LocalDate date = LocalDate.now().plus(1, ChronoUnit.YEARS);
LocalDate date = LocalDate.now().plusYears(1);
//减1年
LocalDate date = LocalDate.now().minus(1, ChronoUnit.YEARS);
LocalDate date = LocalDate.now().minusYears(1);
//判断时间先后
boolean before = date1.isBefore(date2);
boolean after = date1.isAfter(date2);
boolean equal = date1.isEqual(date2);