sql >> Base de Datos >  >> RDS >> Oracle

Fecha y hora de Oracle sin horario de verano a través de JDBC

En pocas palabras, seleccionando un oráculo DATE en una Java Date es inherentemente problemático. Eso es porque son fundamentalmente diferentes. Una DATE de Oracle es la combinación de año, mes, día, horas, minutos, segundos, sin información de zona horaria, por lo que podría ser cualquier zona horaria, con o sin horario de verano; Oracle no lo sabe, ya que esa información no está incluida en DATE .

Por otro lado, una fecha de Java básicamente es el número de milisegundos desde el 1/1/1970 00:00:00 UTC.

Cuando un Oracle DATE entra en Java Date , el controlador JDBC solo puede adivinar qué zona horaria aplicar. Los resultados son bastante impredecibles, especialmente cuando los datos en la base de datos usan una zona horaria diferente a la del usuario.