在 Java 8 之前,日期和时间的处理一直是 Java 开发者的一大痛点。传统的 java.util.Date
和 java.util.Calendar
类不仅设计不够直观,且线程不安全,易于出错。Java 8 引入了全新的日期时间 API,大大简化了日期时间的操作。本文将重点介绍 Java 8 的 LocalDate
, LocalTime
, 和 LocalDateTime
类。
1. LocalDate
类
LocalDate
类表示一个日期,默认格式为 yyyy-MM-dd
,不包含时间信息。该类是不可变且线程安全的。
创建 LocalDate
实例
可以使用多种方式创建 LocalDate
实例:
import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
// 获取当前日期
LocalDate today = LocalDate.now();
System.out.println("今天的日期: " + today);
// 创建指定日期
LocalDate specificDate = LocalDate.of(2020, 1, 1);
System.out.println("指定日期: " + specificDate);
// 解析字符串
LocalDate parsedDate = LocalDate.parse("2023-07-15");
System.out.println("解析日期: " + parsedDate);
}
}
LocalDate
的常用操作
public class LocalDateOperations {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
// 获取年份、月份和日
int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();
System.out.printf("年: %d, 月: %d, 日: %d%n", year, month, day);
// 加减操作
LocalDate nextWeek = today