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中文網其他相關文章!