Oracle
 sql >> Base de données >  >> RDS >> Oracle

Date et heure d'Oracle sans heure d'été via JDBC

Autrement dit, en sélectionnant une DATE oracle dans une Date Java est intrinsèquement problématique. C'est parce qu'ils sont fondamentalement différents. Une DATE Oracle est la combinaison de l'année, du mois, du jour, des heures, des minutes, des secondes, sans aucune information sur le fuseau horaire, il peut donc s'agir de n'importe quel fuseau horaire, avec ou sans l'heure d'été - Oracle ne le sait pas, car cette information n'est pas incluse dans le DATE .

D'autre part, une date Java est essentiellement le nombre de millisecondes depuis le 1/1/1970 00:00:00 UTC.

Lorsqu'une DATE Oracle va dans une Date Java , le pilote JDBC ne peut que deviner quel fuseau horaire appliquer. Les résultats sont plutôt imprévisibles, surtout lorsque les données de la base de données utilisent un autre fuseau horaire que celui de l'utilisateur.