Jak przekonwertować LocalDate na java.sql.Date
?
Próba:
Record r = new Record();
LocalDate date = new Date(1967, 06, 22);
r.setDateOfBirth(new Date(date));
To się nie udaje (nie można się skompilować) i wszystko, co mogę znaleźć, to czas Jody.
Używam Java 8
Odpowiedzi:
Odpowiedź jest naprawdę prosta;
import java.sql.Date; ... LocalDate locald = LocalDate.of(1967, 06, 22); Date date = Date.valueOf(locald); // Magic happens here! r.setDateOfBirth(date);
Jeśli chcesz przekonwertować go na odwrót, zrób to w ten sposób:
r
jest rekordem, którego używasz w JOOQ i.getDate()
jest metodą uzyskiwania daty z twojego rekordu; powiedzmy, że masz kolumnę z datą o nazwie date_of_birth, wtedy powinna zostać wywołana metoda getgetDateOfBirth()
.źródło
java.util.Date
NIE dotyczyjava.sql.Date
to pytanie.Jeśli chcesz aktualną datę:
Jeśli chcesz konkretną datę:
Date date = Date.valueOf(LocalDate.of(1967, 06, 22));
źródło
Date date = Date.valueOf(LocalDate.of(1967, 06, 22));
online, jeśli chcesz to zrobić „szybciej”.Czy próbowałeś użyć metody toDate () obiektu LocalDate?
Jak w:
Record r = new Record(); LocalDate date = new Date(1967, 06, 22); r.setDateOfBirth(date.toDate());
Ogólnie rzecz biorąc, jest to dobry pomysł, aby określić, w jaki sposób zawiedzie, zamiast po prostu powiedzieć „nie powiedzie”.
źródło