Convertir entre LocalDate et sql.Date [dupliquer]
Cette question a déjà une réponse ici:
Quelle est la bonne façon de convertir entre java.sql.Date
et LocalDate
(Java8)?
30
demandé sur
assylias
2015-04-20 17:36:45
1 réponses
Java 8 version (et plus tard) de java.sql.Date
a un support intégré pour LocalDate
, y compris toLocalDate
et valueOf(LocalDate)
.
Pour convertir LocalDate
en java.sql.Date
vous pouvez utiliser
java.sql.Date.valueOf( localDate );
Et pour convertir de java.sql.Date
à LocalDate
:
sqlDate.toLocalDate();
Fuseaux horaires:
Le type LocalDate
ne stocke aucune information de fuseau horaire, alors que java.sql.Date
le fait. Par conséquent, lors de l'utilisation des conversions ci-dessus, les résultats dépendent du fuseau horaire par défaut du système (comme indiqué dans le commentaire).
Si vous ne voulez pas compter sur le fuseau horaire par défaut, vous pouvez utiliser la conversion suivante:
Date now = new Date();
LocalDate current = now.toInstant()
.atZone(ZoneId.systemDefault()) // Specify the correct timezone
.toLocalDate();
65
répondu
maja
2017-08-21 07:34:46