Heim > Java > javaLernprogramm > So lösen Sie das Problem der Zeitzonendifferenz beim Abfragen der Springboot-Datenbank

So lösen Sie das Problem der Zeitzonendifferenz beim Abfragen der Springboot-Datenbank

PHPz
Freigeben: 2023-06-04 17:37:03
nach vorne
1572 Leute haben es durchsucht

    Der Zeitzonenunterschied, der beim Abfragen der Springboot-Datenbank auftritt

    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
    Nach dem Login kopieren
     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: ********
    Nach dem Login kopieren

    Das ursprüngliche Format Seien Sie so:

    &serverTimezone=GMT+8 这里使用%2b替换 + 号
    Nach dem Login kopieren

    2. Fügen Sie die Jackson-Konfiguration direkt zur Boot-Konfigurationsdatei hinzu.

    #在application.yml中增加配置
    spring:
        jackson:
            time-zone: GMT+8
    Nach dem Login kopieren

    Sie können die Uhrzeit erfolgreich ändern. Sie können es überprüfen Der Unterschied beträgt 8 Stunden

    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-Datenbank

    2. Fügen Sie das Springboot-Startskript-Duser.timezone=GMT+08

    3 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!

    Verwandte Etiketten:
    Quelle:yisu.com
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage