Heim >Java >javaLernprogramm >So lösen Sie das Problem der Zeitzonendifferenz beim Abfragen der Springboot-Datenbank
In einem aktuellen Projekt wurden mehrere Datenquellen verwendet, um die Daten von der MySQL-Bibliothek in die Mongo-Bibliothek zu migrieren. Es wurde festgestellt, dass es eine 8 geben würde -Stundenunterschied zwischen den abgerufenen Daten und den Originaldaten,
Nachdem die Schwiegermutter das Problem gelöst hat, habe ich zwei weitere praktische Methoden im Internet gesehen Die hier verwendete Methode besteht darin, die Konfigurationsdatei application.yml zu ändern. Weitere Methoden finden Sie online.
1 In der Konfiguration der Verbindung zur Datenbank fügen wir ein Element hinzu:
&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: ********
&serverTimezone=GMT+8 这里使用%2b替换 + 号
2. Fügen Sie die Jackson-Konfiguration direkt zur Boot-Konfigurationsdatei hinzu.
#在application.yml中增加配置 spring: jackson: time-zone: GMT+8
1 Vergleichen Sie in der k8s-Umgebung die Zeit im Code. Unter new Date() beträgt der Unterschied 8 Stunden.
Überprüfen Sie, ob die Host-Zeitzone die CST-Zeitzone ist Die Ausgabezeitzone ist GMT, was sich von der des Hosts unterscheidet. Wenn Sie den Betrieb und die Wartung nicht herausfinden können, ist die Zeitzone anscheinend das Problem. Fügen Sie den Parameter serverTimezone hinzu =Asien/Shanghai zur Datenbank-Link-Datenbank2. Fügen Sie das Springboot-Startskript-Duser.timezone=GMT+083 hinzu
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der Zeitzonendifferenz beim Abfragen der Springboot-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!