Mysql
 sql >> Database >  >> RDS >> Mysql

Memorizzare le date in Hibernate come date di ora UTC?

Lato back-end:

MySQL con setTimestamp/getTimestamp codice, ma sarà abilitato solo se imposti il ​​parametro di connessione useLegacyDatetimeCode=false , per ulteriori informazioni puoi fare riferimento a questo documento

Ad esempio, se il tuo database è impostato per utilizzare UTC, potrebbero esserci diversi possibili fusi orari UTC in Java, quindi puoi chiarirlo per mysql-connector dicendogli esattamente qual è il fuso orario del database:

String url =
 "jdbc:mysql://localhost/databasename?useLegacyDatetimeCode=false&serverTimezone=UTC+05:30";

Lato cliente:

Inserisci sotto il codice nel file web.xml, ci vorrà il fuso orario del tuo sistema e visualizzerà l'ora in UTC sulla pagina web.

<context-param>
   <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
   <param-value>true</param-value>
</context-param>

e imposta UTC Timzone per MySQL puoi fare riferimento a questo link Il fuso orario di MySQL dovrebbe essere impostato su UTC?