Dans un projet récent, plusieurs sources de données ont été utilisées pour migrer les données de la bibliothèque MySQL vers la bibliothèque mongo. -heure de différence entre les données récupérées et les données originales.
Enfin, le problème a été résolu après que la belle-mère l'ait enregistré :
J'ai vu deux méthodes plus pratiques sur Internet à cause du springboot utilisé. , celle que j'ai utilisée ici consiste à modifier le fichier de configuration application.yml. De plus, d'autres méthodes peuvent être trouvées en ligne,
&serverTimezone=GMT%2b8
primary: jdbc-url: jdbc:mysql://******:3306/***?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8 username: **** password: ***** secondary: jdbc-url: jdbc:mysql://*******:3306/***?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8 username: ***** password: ********
Le format original devrait. soyez comme ceci :
&serverTimezone=GMT+8 这里使用%2b替换 + 号
#在application.yml中增加配置 spring: jackson: time-zone: GMT+8
comme ceci Vous pouvez modifier l'heure avec succès Il existe d'autres méthodes. Vous pouvez la vérifier
1 Dans l'environnement k8s, comparez l'heure dans le code. La différence est de 8 heures sous la nouvelle date()
Vérifiez que le fuseau horaire de l'hôte est le fuseau horaire cst
Utilisez le code Java pour écrire le fuseau horaire du contrôleur et trouvez qu'il est GMT
Le code est le suivant :
Calendar calendar = Calendar.getInstance(); System.out.println("目前时间:" + calendar.getTime()); System.out.println("Calendar时区::" + calendar.getTimeZone().getID()); System.out.println("user.timezone:" + System.getProperty("user.timezone")); System.out.println("user.country:" + System.getProperty("user.country")); System.out.println("默认时区:" + TimeZone.getDefault().getID());
Le fuseau horaire de sortie est GMT qui est différent de celui de l'hôte. Si vous ne parvenez pas à comprendre le fonctionnement et la maintenance, faites-le vous-même
Il semble que le fuseau horaire soit le problème -
1 Ajoutez le paramètre serverTimezone. =Asie/Shanghai au lien de base de données db
2 Ajoutez le script de démarrage Springboot -Duser.timezone=GMT+08
3 configuration globale de Jackson
spring.jackson.date-format: yyyy-MM-dd HH:mm:ss spring.jackson.time-zone: GMT+8
4.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!