Côté back-end :
MySQL ayant le setTimestamp/getTimestamp
code, mais il ne sera activé que si vous définissez le paramètre de connexion useLegacyDatetimeCode=false
, pour en savoir plus, vous pouvez consulter ce document
Par exemple, si votre base de données est configurée pour utiliser UTC, il peut y avoir plusieurs fuseaux horaires UTC possibles en Java, vous pouvez donc clarifier cela pour mysql-connector en lui indiquant exactement quel est le fuseau horaire de la base de données :
String url =
"jdbc:mysql://localhost/databasename?useLegacyDatetimeCode=false&serverTimezone=UTC+05:30";
Côté client :
Mettez le code ci-dessous dans le fichier web.xml, il prendra votre fuseau horaire système et affichera l'heure en UTC sur la page Web..
<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>
et définissez UTC Timzone pour MySQL, vous pouvez consulter ce lien MySQL devrait-il avoir son fuseau horaire défini sur UTC ?