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 Projekt wird der Docker-Container zum E...
Vorwort Dieser Artikel stellt hauptsächlich den r...
Das Wechseln von Dateien ist eine gängige Operati...
Inhaltsverzeichnis Vorwort 1. Gründe: 2. Lösungsi...
Vorwort 1. Entprellen: Nach dem Auslösen eines Ho...
In diesem Artikel wird der detaillierte Vorgang z...
Inhaltsverzeichnis Vorwort Vorbereiten Umsetzungs...
mysql bereinigt Binlog-Protokolle korrekt Vorwort...
In HTML haben <, >, & usw. eine speziell...
In diesem Artikelbeispiel wird der spezifische Co...
Ich habe vor Kurzem VMware Horizon bereitgestellt...
1. Mechanismus des Linux-Kernel-Treibermoduls Sta...
1. Übersicht Das Promise-Objekt ist eine von ES6 ...
Die übliche Nginx-Konfiguration ermöglicht domäne...
Grundlegende Anweisungen für Docker: Update-Paket...