Nachdem die Systemzeit mit Java ermittelt und in der MySQL-Datenbank gespeichert wurde, stellt sich heraus, dass die Datenbankspeicherung nicht mit der Ortszeit übereinstimmt, wenn der Zeittyp „Datum/Uhrzeit“ oder „Zeitstempel“ ist. Ein wichtiger Grund ist, dass die für MySQL eingestellte Zeitzone nicht mit Ihrer lokalen Zeitzone übereinstimmt. Die Lösung besteht darin, die MySQL-Zeitzonenkonfiguration zu ändern. Sie finden dies, indem Sie online suchen. Ich empfehle die zweite MethodeLegen Sie es einfach in der DBUtil-Klasse fest, die entsprechend den tatsächlichen Anforderungen Ihres Projekts eine Verbindung zur Datenbank herstellt. Beispielsweise habe ich im folgenden Code die Zeitzone auf die gleiche Zeitzone wie Shanghai, Asien geändert. privater statischer String-Treiber = "com.mysql.cj.jdbc.Driver"; private statische String-URL = "jdbc:mysql://127.0.0.1:3306/mypetstore?serverTimezone=Asia/Shanghai&useSSL=false"; Zum Einstellen der Zeitzone wird serverTimezone=Asia/Shanghai verwendet. Beim Abrufen von Timestamp-Daten aus MySQL und der Anzeige im Browser kommt am Ende immer eine .0, was sehr ärgerlich ist. Was kann ich tun? Sie können den folgenden EL-Ausdruck und die JSTL-Tags zur Formatierung verwenden, wobei log.date die Zeitdaten sind, die gefunden wurden <fmt:formatDate Wert="${log.date}" Typ="Datum" Muster="jjjj-MM-tt HH:mm:ss" /> Hinweis: Wenn Sie es als yyyy-MM-dd hh:mm:ss schreiben, wird nicht zwischen Vormittag und Nachmittag unterschieden Ergänzung: Problem mit falscher Mysql-Speicherzeit oder -Datumsausrichtung Hier wird das Problem diskutiert, dass beim Hinzufügen von Datensätzen zur MySQL-Datenbank das Datum um einen Tag verschoben wird oder die Uhrzeit falsch ist. Problem-SzenarienEs gibt kein Problem mit der Codelogik. Bei der schrittweisen Ausführung habe ich festgestellt, dass das Datum beim Speichern korrekt war, beim Speichern in der Datenbank jedoch falsch. GrundDer Grund liegt in dem Problem mit den Parametern, die Sie beim Konfigurieren der Datenquellenverbindung hinzugefügt haben. Wenn ich richtig vermute, sollte der von Ihnen konfigurierte Parameter serverTimezone UTC sein. Dies liegt daran, dass die falsche Zeitzone verwendet wird, was dazu führt, dass das Datum beim Speichern von Daten falsch platziert wird. LösungStellen Sie die Server-Zeitzone wie unten gezeigt auf Asien/Shanghai ein. Versuchen Sie es erneut und das Problem wird gelöst. Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur. Das könnte Sie auch interessieren:
|
<<: Webdesigner sollten Webseiten unter drei Aspekten optimieren
>>: Analyse der Prinzipien von Docker-Containern
In diesem Artikel wird der spezifische Code für J...
Inhaltsverzeichnis 1. Map akzeptiert jeden Schlüs...
Inhaltsverzeichnis Hintergrund erreichen Ergänzun...
Inhaltsverzeichnis Zyklus für für-in für-von währ...
In diesem Artikel wird hauptsächlich der Fall vor...
Das feste Layout des Seitenkopfes wurde zuvor mit...
AngularJS-Loop-Objekteigenschaften zum Erreichen ...
Tipps: Die Methode zur Array-Änderung führt zur A...
1. Was ist ein Index? Ein Index ist eine Datenstr...
Trennlinien sind eine gängige Gestaltungsart auf ...
Was ist wxs? wxs (WeiXin Script) ist eine Skripts...
Drag & Drop ist eine gängige Funktion im Fron...
Im Projekt ist es erforderlich, den Breiten- und ...
Führen Sie den Befehl aus: docker run --name cent...
Im vorherigen Artikel wurde erläutert, wie Sie mi...