📜  Java8 LocalDate类(1)

📅  最后修改于: 2023-12-03 15:31:35.436000             🧑  作者: Mango

Java8 LocalDate类

Java8 LocalDate类是Java8版本中新增的Java API类之一,主要用于表示本地日期,它是不可变的,与时区无关,可以代表从0000年至今的日期。

LocalDate类的创建

我们可以通过如下方式创建一个LocalDate对象:

  1. 使用now()方法获取当前日期:
LocalDate localDate = LocalDate.now();
  1. 使用of()方法指定年、月、日来创建日期:
LocalDate localDate = LocalDate.of(2022, 10, 1);
  1. 使用parse()方法将字符串转换成日期:
LocalDate localDate = LocalDate.parse("2022-10-01");
LocalDate类的常用方法
获取日期信息
  • getYear():获取年份
  • getMonth():获取月份
  • getDayOfMonth():获取月份中的天数
  • getDayOfWeek():获取星期几
  • getDayOfYear():获取一年中的第几天
LocalDate localDate = LocalDate.of(2022, 10, 1);
int year = localDate.getYear(); // 2022
Month month = localDate.getMonth(); // OCTOBER
int dayOfMonth = localDate.getDayOfMonth(); // 1
DayOfWeek dayOfWeek = localDate.getDayOfWeek(); // SATURDAY
int dayOfYear = localDate.getDayOfYear(); // 274
操作日期

LocalDate类除了获取日期外,还可以对日期进行一些操作。

  • plusYears(long years):增加年份
  • plusMonths(long months):增加月份
  • plusDays(long days):增加天数
  • minusYears(long years):减少年份
  • minusMonths(long months):减少月份
  • minusDays(long days):减少天数
  • withYear(int year):设置年份
  • withMonth(int month):设置月份
  • withDayOfMonth(int dayOfMonth):设置月份中的天数
LocalDate localDate = LocalDate.of(2022, 10, 1);
LocalDate newDate = localDate.plusYears(1) // 2023-10-01
                        .minusMonths(3) // 2023-07-01
                        .withDayOfMonth(15); // 2023-07-15
格式化日期

我们可以使用DateTimeFormatter类来格式化日期,通常以字符串的形式输出。

LocalDate localDate = LocalDate.of(2022, 10, 1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = localDate.format(formatter); // 2022-10-01
总结

以上就是Java8 LocalDate类的基本介绍,它为Java开发者提供了一种方便的处理本地日期的方式,所以在开发中它会很有用。