Heim >Datenbank >MySQL-Tutorial >Warum gibt NodeJS MySQL-Daten in UTC 2 zurück, während Direct MySQL Fetch UTC zurückgibt?
NodeJS gibt eine andere MySQL-Zeitzone zurück als der direkte MySQL-Abruf
Frage:
Beim Erstellen eines Bei einer direkten Anfrage an MySQL erhalten Sie Daten in UTC, der auf dem Server konfigurierten Zeitzone. Beim Abrufen von Daten über NodeJS tritt jedoch regelmäßig ein Zeitzonenversatz von UTC 2 auf. Warum tritt das auf und wie können Sie dieses Problem beheben, um UTC-Daten zu erhalten?
Antwort:
Die Diskrepanz bei der Zeitzonenbehandlung ist auf eine fehlende Konfiguration in Ihrer NodeJS-Umgebung zurückzuführen . Insbesondere müssen Sie beim Initialisieren der MySQL-Verbindung die Zeitzone auf „utc“ festlegen.
Um dieses Problem zu beheben, fügen Sie die folgende Zeile zu Ihrem NodeJS-Code hinzu, in dem Sie die MySQL-Verbindung herstellen:
db_config.timezone = 'utc';
Wenn Ihr Code beispielsweise in einer Datei namens index.js definiert ist, hätten Sie die folgende Konfiguration:
<code class="javascript">var db_config = { host: 'localhost', user: 'xxx', password: '', database: 'xxx', timezone: 'utc' };</code>
Sobald diese Konfiguration vorhanden ist, interpretiert NodeJS Datumsangaben ordnungsgemäß und zeigt sie an UTC, ausgerichtet an den Werten, die Sie erhalten, wenn Sie Daten direkt vom MySQL-Server abrufen. Dies gewährleistet Konsistenz und Genauigkeit bei der Verarbeitung von Datums-/Uhrzeitfeldern in verschiedenen Umgebungen.
Das obige ist der detaillierte Inhalt vonWarum gibt NodeJS MySQL-Daten in UTC 2 zurück, während Direct MySQL Fetch UTC zurückgibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!