📅  最后修改于: 2023-12-03 15:31:33.652000             🧑  作者: Mango
在 Java 8 中,引入了新的日期/时间 API,其中包括 LocalDate 和 java.util.Date 之间的相互转换。本文将向您展示如何将 java.util.Date 转换为 LocalDate。
使用 LocalDate 的 from() 方法,我们可以将 java.util.Date 转换为 LocalDate,如下所示:
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
public class DateToLocalDateExample {
public static void main(String[] args) {
Date date = new Date();
Instant instant = date.toInstant();
LocalDate localDate = instant.atZone(ZoneId.systemDefault()).toLocalDate();
System.out.println("Date : " + date);
System.out.println("LocalDate : " + localDate);
}
}
上述代码将获取当前日期并将其转换为 Instant 类型。接下来,我们在此基础上使用 atZone() 和 toLocalDate() 方法创建一个 LocalDate。
运行上述程序,将输出以下结果:
Date : Thu Feb 11 10:08:08 PST 2021
LocalDate : 2021-02-11
我们还可以使用 LocalDate 的 parse() 方法将 java.util.Date 转换为 LocalDate,如下所示:
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class DateToLocalDateExample {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String stringDate = sdf.format(date);
LocalDate localDate = LocalDate.parse(stringDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.out.println("Date : " + date);
System.out.println("LocalDate : " + localDate);
}
}
上述代码将首先获取当前日期并将其格式化为字符串。接下来,我们使用 LocalDate 的 parse() 方法创建一个 LocalDate。
运行上述程序,将输出以下结果:
Date : Thu Feb 11 10:29:24 PST 2021
LocalDate : 2021-02-11
在 Java 8 中,将 java.util.Date 转换为 LocalDate 可以通过使用 LocalDate 的 from() 方法或 parse() 方法实现。这两种方法都很容易实现,具有相同的效果。您可以根据编码风格和项目需求选择其中一种方法。