web-dev-qa-db-fra.com

Comment convertir LocalDate en SQL Date Java?

Comment convertir une date locale en un Java.sql.Date?

Tentative:

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

Cela échoue (ne compile pas) et tout ce que je peux trouver, ce sont des trucs du temps Joda.

J'utilise Java 8

65
Gemtastic

La réponse est très simple.

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

Si vous voulez le convertir dans l'autre sens, procédez comme suit:

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

r est le document que vous utilisez dans JOOQ et .getDate() est la méthode pour extraire la date de votre document; Disons que vous avez une colonne de date appelée date_of_birth, votre méthode get devrait alors s'appeler getDateOfBirth().

117
Gemtastic

Si vous voulez date actuelle:

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

Si vous voulez une date précise:

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