it-swarm.com.ru

Как конвертировать LocalDate в SQL Date Java?

Как мне преобразовать LocalDate в Java.sql.Date?

Попытка:

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

Это терпит неудачу (не компилируется) и все, что я могу найти, это время Joda.

Я использую Java 8

65
Gemtastic

Ответ действительно прост;

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().

117
Gemtastic

Если вы хотите текущую дату:

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

Если вы хотите конкретную дату:

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