Heim >Datenbank >MySQL-Tutorial >Warum gibt NodeJS MySQL-Daten in UTC 2 zurück, während Direct MySQL Fetch UTC zurückgibt?

Warum gibt NodeJS MySQL-Daten in UTC 2 zurück, während Direct MySQL Fetch UTC zurückgibt?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 05:33:29407Durchsuche

Why Does NodeJS Return MySQL Dates in UTC 2 While Direct MySQL Fetch Returns UTC?

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!

Stellungnahme:
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