PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Perché il mio timestamp è spostato nel fuso orario?

Se un database non fornisce informazioni sul fuso orario, il driver JDBC dovrebbe trattarlo come se si trovasse nel fuso orario locale della JVM (vedi PreparedStatement.setDate(int, Date) ):

La specifica Javadoc e JDBC non dice esplicitamente nulla su ResultSet ecc, ma per essere coerenti la maggior parte dei driver applicherà quella regola anche alle date recuperate dal database. Se desideri un controllo esplicito sul fuso orario utilizzato, dovrai utilizzare i vari set/getDate/Time/Timestamp metodi che accettano anche un Calendar oggetto nel fuso orario corretto.

Alcuni driver forniscono anche una proprietà di connessione che consente di specificare il fuso orario da utilizzare durante la conversione da/verso il database.