NodeJS MySQL 時區差異
直接從MySQL 資料庫取得資料時,傳回的日期以UTC 格式顯示,假設MySQL 伺服器是設定為UTC。但是,將 MySQL 與 NodeJS 整合後,將在本機時區(本例中為 UTC 2)檢索資料。理解這種差異對於保持資料庫和應用程式時間處理之間的同步至關重要。
造成這種差異的根本原因在於 MySQL 和 NodeJS 的時區處理機制。 MySQL 預設使用系統時區進行日期和時間戳記操作。相反,NodeJS 使用作業系統的時區設置,除非明確覆蓋。這種差異導致使用 NodeJS 查詢 MySQL 時出現偏差。
要修正此問題並使 NodeJS 與 MySQL 的 UTC 時區保持一致,必須調整 NodeJS 中的連接配置。具體來說,需要指定「時區」屬性。此參數可確保 NodeJS 保持與 MySQL 相同的時區,無論作業系統的設定為何。
在提供的程式碼片段中,「timezone」屬性已新增至MySQL 連線配置中:
var db_config = { host: 'localhost', user: 'xxx', password: '', database: 'xxx', timezone: 'utc' //<- This line resolves the issue };
透過合併此屬性,NodeJS 現在配置為檢索UTC 格式的數據,與MySQL 的行為相符。此調整消除了時區差異,確保資料庫和 NodeJS 應用程式之間時間戳處理的一致性。
以上是以下是一些適合您文章內容的基於問題的標題: * **為什麼 NodeJS 顯示的 MySQL 資料與資料庫的時區不同? * **如何對齊NodeJS和MySQL timez的詳細內容。更多資訊請關注PHP中文網其他相關文章!