🔥 深入解析 Java 8 新特性:LocalDate 的强大功能与实用技巧
在 Java 8 之前,开发者主要使用 java.util.Date
和 java.util.Calendar
类来处理日期时间,但这两者都存在诸多缺陷,比如设计不佳、线程不安全、操作繁琐等。为了解决这些问题,Java 8 引入了全新的时间和日期 API:java.time
包。
其中,LocalDate
是该 API 的核心类之一,专门用于表示不带时间和时区的日期(例如:2025-05-16)。它是不可变的、线程安全的,提供了大量易用的方法来获取、操作、比较、格式化日期。
1. 创建 LocalDate 实例
LocalDate
提供了三种常用的方式来创建日期实例:
🔹 当前日期
LocalDate today = LocalDate.now();
System.out.println("Today's date: " + today); // e.g., 2025-05-16
🔹 指定日期
LocalDate birthday = LocalDate.of(1995, 12, 15);
System.out.println("Birthday: " + birthday); // 1995-12-15
🔹 解析字符串
LocalDate parsedDate = LocalDate.parse("2023-03-01");
System.out.println("Parsed date: " + parsedDate);
2. 获取日期信息
通过 LocalDate
提供的方法可以轻松获取年、月、日、星期等常用信息:
LocalDate today = LocalDate.now();
int year = today.getYear();
int month = today.getMonthValue();
Month enumMonth = today.getMonth(); // 枚举类型
int day = today.getDayOfMonth();
DayOfWeek dow = today.getDayOfWeek();
System.out.println("Year: " + year);
System.out.println("Month: " + month + " (" + en