Comment convertir java.sql.timestamp en LocalDate (java8) java.time?

En Java 8, comment convertir un Timestamp (en java.sql ) en un LocalDate (en java.time )?

Tu peux faire:

 timeStamp.toLocalDateTime().toLocalDate(); 

Je développerai légèrement la réponse de @assylias pour prendre en compte le fuseau horaire. Il existe au moins deux façons d’obtenir LocalDateTime pour un fuseau horaire spécifique.

Vous pouvez utiliser le fuseau horaire setDefault pour toute l’application. Il doit être appelé avant toute conversion d’horodatage -> java.time:

 public static void main(Ssortingng... args) { TimeZone utcTimeZone = TimeZone.getTimeZone("UTC"); TimeZone.setDefault(utcTimeZone); ... timestamp.toLocalDateTime().toLocalDate(); } 

Ou vous pouvez utiliser pourInstant.atZone chaîne:

 timestamp.toInstant() .atZone(ZoneId.of("UTC")) .toLocalDate();