如何将LocalDate转换为java.sql.Date
?
尝试:
Record r = new Record();
LocalDate date = new Date(1967, 06, 22);
r.setDateOfBirth(new Date(date));
这(将无法编译)失败,我能找到的就是Joda时间。
我正在使用Java 8
答案 0 :(得分:124)
答案很简单;
import java.sql.Date;
...
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
是您在JOOQ中使用的记录,.getDate()
是获取记录日期的方法;我们假设您有一个名为date_of_birth的日期列,那么您的get方法应该被称为getDateOfBirth()
。
答案 1 :(得分:0)
如果您想要当前日期:
Date date = Date.valueOf(LocalDate.now());
如果您想要特定日期:
Date date = Date.valueOf(LocalDate.of(1967, 06, 22));
答案 2 :(得分:-1)
您是否尝试过使用LocalDate的toDate()方法?
如:
Record r = new Record();
LocalDate date = new Date(1967, 06, 22);
r.setDateOfBirth(date.toDate());
一般来说,最好指定 如何失败,而不是仅仅说“失败”。