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

Pourquoi mon horodatage est-il décalé dans le fuseau horaire ?

Si une base de données ne fournit pas d'informations sur le fuseau horaire, le pilote JDBC doit la traiter comme si elle se trouvait dans le fuseau horaire local de la JVM (voir PreparedStatement.setDate(int, Date) ):

Le Javadoc et la spécification JDBC ne disent rien explicitement sur ResultSet etc, mais pour être cohérent, la plupart des pilotes appliqueront également cette règle aux dates extraites de la base de données. Si vous souhaitez un contrôle explicite sur le fuseau horaire utilisé, vous devrez utiliser les différents set/getDate/Time/Timestamp méthodes qui acceptent également un Calendar objet dans le bon fuseau horaire.

Certains pilotes fournissent également une propriété de connexion vous permettant de spécifier le fuseau horaire à utiliser lors de la conversion vers/depuis la base de données.