Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Armazenando datas no Hibernate como datas de hora UTC?


Back-end:

MySQL com o setTimestamp/getTimestamp code, mas só será habilitado se você definir o parâmetro de conexão useLegacyDatetimeCode=false , para saber mais, você pode consultar este documento

Por exemplo, se seu banco de dados estiver configurado para usar UTC, pode haver vários fusos horários UTC possíveis em Java, então você pode esclarecer isso para o conector mysql informando exatamente qual é o fuso horário do banco de dados:
String url =
 "jdbc:mysql://localhost/databasename?useLegacyDatetimeCode=false&serverTimezone=UTC+05:30";

Lado do cliente:

Coloque o código abaixo no arquivo web.xml, levará o fuso horário do seu sistema e exibirá o horário em UTC na página da web.
<context-param>
   <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
   <param-value>true</param-value>
</context-param>

e defina UTC Timzone para MySQL, você pode consultar este link O MySQL deve ter seu fuso horário definido como UTC?