LocalDate
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("今天的日期是:" + today);
int year = today.getYear();
int month = today.getMonthValue();
int dayOfYear = today.getDayOfYear();
int dayOfMonth = today.getDayOfMonth();
System.out.println("今天的日期是:" + year + "年" + month + "月" + dayOfMonth + "日");
LocalDate todayOfNextYear = today.plusYears(1);
System.out.println("明年的今天是:" + todayOfNextYear);
LocalDate localOfLastYear = today.minusYears(1);
System.out.println("去年的今天是:" + localOfLastYear);
LocalDate todayOfNextMonth = today.plusMonths(1);
System.out.println("一个月后的今天是:" + todayOfNextMonth);
LocalDate todayOfLastMonth = today.minusMonths(1);
System.out.println("一个月前的今天是:" + todayOfLastMonth);
//判断是否为闰年
boolean leapYear = today.isLeapYear();
System.out.println("今年是闰年吗:" + leapYear);
LocalDate localDate = LocalDate.of(2019, 8, 25);
System.out.println("指定日期为:" + localDate);
//两个日期的比较
LocalDate day1 = LocalDate.of(2008, 2, 8);
System.out.println("今天是2019-2-8吗:" + today.equals(day1));
System.out.println("今天在2019-2-8之前吗:" + today.isBefore(day1));
System.out.println("今天在2019-2-8之后吗:" + today.isAfter(day1));
// 两个日期相差几天
Period between = Period.between(day1, today);
System.out.println("今天与2008年相差几年:" + between.getYears());
System.out.println("今天与2月相差几个月:" + between.getMonths());
System.out.println("今天与2-8相差几天:" + between.getDays());
// 判断两个日期相差几天
LocalDate day2 = LocalDate.of(2010, 3, 8);
LocalDate day3 = LocalDate.of(2009, 2, 8);
System.out.println("两个日期相隔几天" + (day2.toEpochDay() - day3.toEpochDay()));
}
1.LocalDate计算两个日期间距离
1、LocalDate提供了until()方法,计算了两个日期之间的年、月和日的周期
LocalDate localDate1 = LocalDate.parse("2017-08-28");
LocalDate LocalDate2 = LocalDate.parse("2018-09-30");
int years = localDate1.until(LocalDate2).getYears();
int months = localDate1.until(LocalDate2).getMonths();
int days = localDate1.until(LocalDate2).getDays();
System.out.println("间隔:"+years + "年," + months + " 月," + days + "日");
2.LocalDate提供了until(Temporal endExclusive, TemporalUnit unit),计算两个日期间距离:
LocalDate start = LocalDate.parse("2018-08-28");
LocalDate end = LocalDate.parse("2019-09-30");
long year = start.until(end, ChronoUnit.YEARS);
long month = start.until(end, ChronoUnit.MONTHS);
long days = start.until(end, ChronoUnit.DAYS);
System.out.println("间隔:" + year + "年");
System.out.println("间隔:" + month + "月");
System.out.println("间隔:" + days + "天");