webentwicklung-frage-antwort-db.com.de

Wie konvertiert man LocalDate in SQL Date Java?

Wie konvertiere ich ein LocalDate in einen Java.sql.Date?

Versuch:

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

Dies schlägt fehl (kompiliert nicht) und alles, was ich finden kann, ist Joda Zeitzeug.

Ich verwende Java 8

65
Gemtastic

Die Antwort ist sehr einfach.

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

Wenn Sie es andersherum konvertieren möchten, machen Sie es so:

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

r ist der Datensatz, den Sie in JOOQ verwenden, und .getDate() ist die Methode zum Abrufen des Datums aus Ihrem Datensatz. Angenommen, Sie haben eine Datumsspalte mit dem Namen date_of_birth, dann sollte Ihre get-Methode getDateOfBirth() heißen.

117
Gemtastic

Wenn Sie ein aktuelles Datum wünschen:

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

Wenn Sie ein bestimmtes Datum wünschen:

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