首頁 >資料庫 >mysql教程 >為什麼 NodeJS 傳回 UTC 2 格式的 MySQL 日期,而直接 MySQL 取得回傳 UTC 格式?

為什麼 NodeJS 傳回 UTC 2 格式的 MySQL 日期,而直接 MySQL 取得回傳 UTC 格式?

Patricia Arquette
Patricia Arquette原創
2024-10-25 05:33:29402瀏覽

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

NodeJS 返回與直接MySQL 獲取不同的MySQL 時區

問題:

當製作直接要求MySQL,您會收到UTC 格式的日期,這是伺服器上設定的時區。但是,當透過 NodeJS 取得資料時,您始終會遇到 UTC 2 時區偏移。為什麼會發生這種情況以及如何糾正此問題以獲取 UTC 日期?

答案:

時區處理的差異源自於 NodeJS 環境中缺少配置。具體來說,您需要在初始化 MySQL 連線時將時區設定為「utc」。

要解決此問題,請將以下行新增至建立MySQL 連線的NodeJS 程式碼:

db_config.timezone = 'utc';

例如,如果您的程式碼定義在名為index.js 的檔案中,則您將具有以下配置:

<code class="javascript">var db_config = {
  host: 'localhost',
  user: 'xxx',
  password: '',
  database: 'xxx',
  timezone: 'utc'
};</code>

一旦此配置到位,NodeJS 將正確解釋並顯示日期UTC,與直接從MySQL 伺服器獲取資料時獲得的值一致。這確保了在不同環境中處理日期時間欄位的一致性和準確性。

以上是為什麼 NodeJS 傳回 UTC 2 格式的 MySQL 日期,而直接 MySQL 取得回傳 UTC 格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn