Heim  >  Artikel  >  Datenbank  >  Hier sind einige fragenbasierte Titel, die zum Inhalt Ihres Artikels passen: * **Warum zeigt NodeJS MySQL-Daten in einer anderen Zeitzone an als die Datenbank?** * **So richten Sie NodeJS- und MySQL-Timez aus

Hier sind einige fragenbasierte Titel, die zum Inhalt Ihres Artikels passen: * **Warum zeigt NodeJS MySQL-Daten in einer anderen Zeitzone an als die Datenbank?** * **So richten Sie NodeJS- und MySQL-Timez aus

Susan Sarandon
Susan SarandonOriginal
2024-10-25 02:03:30757Durchsuche

Here are a few question-based titles that fit the content of your article:

* **Why does NodeJS display MySQL data in a different timezone than the database?** 
* **How to align NodeJS and MySQL timezone settings for consistent timestamp handling?**
* **T

NodeJS MySQL-Zeitzonendiskrepanz

Beim direkten Abrufen von Daten aus einer MySQL-Datenbank wird das zurückgegebene Datum in UTC angezeigt, sofern der MySQL-Server dies tut auf UTC eingestellt. Bei der Integration von MySQL mit NodeJS werden die Daten jedoch in der lokalen Zeitzone abgerufen, in diesem Fall UTC 2. Das Verständnis dieser Diskrepanz ist entscheidend für die Aufrechterhaltung der Synchronisierung zwischen Datenbank- und Anwendungszeitverarbeitung.

Der zugrunde liegende Grund für diesen Unterschied liegt in den Zeitzonenverarbeitungsmechanismen von MySQL und NodeJS. MySQL verwendet standardmäßig die Systemzeitzone für Datums- und Zeitstempeloperationen. Im Gegensatz dazu verwendet NodeJS die Zeitzoneneinstellungen des Betriebssystems, sofern diese nicht explizit überschrieben werden. Diese Unterscheidung führt zu der Abweichung bei der Abfrage von MySQL mit NodeJS.

Um dieses Problem zu beheben und NodeJS an die UTC-Zeitzone von MySQL anzupassen, muss die Verbindungskonfiguration in NodeJS angepasst werden. Insbesondere muss die Eigenschaft „timezone“ angegeben werden. Dieser Parameter stellt sicher, dass NodeJS unabhängig von den Einstellungen des Betriebssystems dieselbe Zeitzone wie MySQL beibehält.

Im bereitgestellten Code-Snippet wurde die Eigenschaft „timezone“ zur MySQL-Verbindungskonfiguration hinzugefügt:

var db_config = {
  host: 'localhost',
  user: 'xxx',
  password: '',
  database: 'xxx',
  timezone: 'utc'  //<- This line resolves the issue
};

Durch die Integration dieser Eigenschaft ist NodeJS nun so konfiguriert, dass Daten in UTC abgerufen werden, was dem Verhalten von MySQL entspricht. Durch diese Anpassung wird die Zeitzonendiskrepanz beseitigt und eine konsistente Handhabung der Zeitstempel zwischen der Datenbank und der NodeJS-Anwendung sichergestellt.

Das obige ist der detaillierte Inhalt vonHier sind einige fragenbasierte Titel, die zum Inhalt Ihres Artikels passen: * **Warum zeigt NodeJS MySQL-Daten in einer anderen Zeitzone an als die Datenbank?** * **So richten Sie NodeJS- und MySQL-Timez aus. 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