如何将LocalDate转换为SQL Date Java?

如何将LocalDate转换为java.sql.date?

尝试:

Record r = new Record(); LocalDate date = new Date(1967, 06, 22); r.setDateOfBirth(new Date(date)); 

这失败了,我能find的只有乔达时间的东西。

我正在使用Java 8

答案很简单,

 LocalDate locald = LocalDate.of(1967, 06, 22); Date date = Date.valueOf(locald); // Magic happens here! r.setDateOfBirth(date); 

如果你想转换它,你可以这样做:

 Date date = r.getDate(); LocalDate localD = date.toLocalDate(); 

r是您在.getDate()使用的logging, .getDate()是从您的logging中获取date的方法; 假设你有一个名为date_of_birth的date列,那么你的get方法应该被称为getDateOfBirth()

你有没有尝试过使用LocalDate的toDate()方法?

如:

 Record r = new Record(); LocalDate date = new Date(1967, 06, 22); r.setDateOfBirth(date.toDate()); 

一般来说,指定它是如何失败是一个好主意,而不是仅仅说“失败”。

如果你想要当前date:

 Date date = Date.valueOf(LocalDate.now()); 

如果你想要一个特定的date:

 Date date = Date.valueOf(LocalDate.of(1967, 06, 22));