Oracle
 sql >> Database >  >> RDS >> Oracle

Data e ora di Oracle senza l'ora legale tramite JDBC

In poche parole, selezionando un oracolo DATE in una Date Java è intrinsecamente problematico. Questo perché sono fondamentalmente diversi. Una DATE Oracle è la combinazione di anno, mese, giorno, ore, minuti, secondi, senza alcuna informazione sul fuso orario, quindi potrebbe essere qualsiasi fuso orario, con o senza l'ora legale - Oracle non lo sa, poiché tali informazioni non sono incluse nel DATE .

D'altra parte, una data Java è fondamentalmente il numero di millisecondi dal 1/1/1970 00:00:00 UTC.

Quando un Oracle DATE va in una Date Java , il driver JDBC può solo indovinare quale fuso orario applicare. I risultati sono piuttosto imprevedibili, soprattutto quando i dati nel database utilizzano un fuso orario diverso da quello dell'utente.