Ni java.util.Date
ni Oracle Date
stocke les informations de fuseau horaire. Dans votre cas, le pilote Jdbc convertit votre date en utilisant le fuseau horaire JVM. Vous pouvez utiliser l'une des options suivantes :
- Si vous utilisez PreparedStatement, vous pouvez utiliser
setDate(int parameterIndex, Date x, Calendar cal)
méthode pour spécifierCalendar
dans le fuseau horaire UTC. - Pour Spring
jdbcTemplate
au lieu d'insérerDate
objet, insérezCalendar
avecUTC
fuseau horaire TimeZone.setDefault(TimeZone.getTimeZone("GMT"))
peut être défini sur JVM lvl- Utilisez
-Duser.timezone=GMT
au démarrage de la JVM