在 LocalDate 和 sql 之间转换。日期
2022-08-31 13:48:04
在 Java 8(或更高版本)中,在 和 (两个方向)之间进行转换的正确方法是什么?java.sql.Date
LocalDate
在 Java 8(或更高版本)中,在 和 (两个方向)之间进行转换的正确方法是什么?java.sql.Date
LocalDate
Java 8 版本(及更高版本)内置了对 的支持,包括 toLocalDate
和 valueOf(LocalDate)。
java.sql.Date
LocalDate
要从 转换为,您可以使用LocalDate
java.sql.Date
java.sql.Date.valueOf( localDate );
并转换为 :java.sql.Date
LocalDate
sqlDate.toLocalDate();
时区:
该类型不存储时区信息,但会存储。因此,使用上述转换时,结果取决于系统的默认时区(如注释中所述)。LocalDate
java.sql.Date
如果您不想依赖默认时区,可以使用以下转换:
Date now = new Date();
LocalDate current = now.toInstant()
.atZone(ZoneId.systemDefault()) // Specify the correct timezone
.toLocalDate();