NodeJS MySQL-Zeitzonendiskrepanz
Bei der direkten Abfrage von MySQL spiegeln die zurückgegebenen Zeitstempel genau die UTC-Zeitzonenkonfiguration des Servers wider. Die Abfrage von MySQL über NodeJS führte jedoch dazu, dass Zeitstempel an UTC 2, die lokale Zeitzone, angepasst wurden.
Erklärung
NodeJS verwendet standardmäßig die lokale Zeitzone des Systems für Datums- und Zeitoperationen . Wenn Sie eine Verbindung zu einer Datenbank mit einer anderen Zeitzone herstellen, beispielsweise UTC von MySQL, interpretiert NodeJS die Zeitstempel weiterhin entsprechend der lokalen Zeitzone. Dies führt zu der beobachteten Zeitzonendiskrepanz.
Lösung
Um dieses Problem zu beheben und Zeitstempel in UTC mit NodeJS abzurufen, ist es notwendig, die Zeitzone für MySQL explizit festzulegen Verbindung. Dies kann erreicht werden, indem die folgende Zeile zur MySQL-Verbindungskonfiguration hinzugefügt wird:
timezone: 'utc'
Zum Beispiel in der bereitgestellten index.js-Datei:
<code class="js">const db_config = { host: 'localhost', user: 'username', password: 'password', database: 'databaseName', timezone: 'utc' };</code>
Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die sich jeweils mit unterschiedlichen Aspekten des Problems befassen: **Betonung der Diskrepanz:** * **Warum sind Zeitstempel deaktiviert, wenn MySQL mit NodeJS abgefragt wird?** * **NodeJS und MySQL:. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!