在JavaScript 中擷取客戶端的時區和偏移量
確定訪客的時區對於各種應用程式至關重要,例如顯示本地化日期和時間資訊。本文介紹如何使用 JavaScript 取得時區及其與 UTC 或 GMT 的偏移量。
了解時區和偏移量
時區定義一個區域,該區域觀察相對於協調世界時(UTC) 或格林威治標準時間(GMT) 的特定時間。偏移量是特定時區與 UTC 之間的小時差。例如,中歐時間 (CET) 位於 UTC 01 偏移量中,表示它比 UTC 早一小時。
收集時區資訊
傳統上,瀏覽器提供 JavaScript API 來擷取客戶端的時區。然而,由於潛在的不準確和安全問題,這些 API 並不可靠。
現代方法:使用 Intl API
在 JavaScript 中取得系統 IANA 時區的建議方法是利用 Intl.DateTimeFormat() API。此 API 傳回一個對象,其中包含有關客戶端區域設定的信息,包括時區。
程式碼範例
以下程式碼示範如何使用Intl.DateTimeFormat() API:
const options = { timeZone: 'UTC' }; const dateFormatter = new Intl.DateTimeFormat([], options); console.log(dateFormatter.resolvedOptions().timeZone);
此程式碼記錄 IANA時區,準確反映客戶端系統
注意:偏移計算
需要注意的是,不建議根據當前時間計算與 UTC 的偏移。時區和夏令時規則全年可能會發生變化。依賴偏移計算可能會導致差異。相反,請務必使用系統的 IANA 時區來取得精確的時區資訊。
以上是如何使用 JavaScript 可靠地取得客戶的時區和偏移?的詳細內容。更多資訊請關注PHP中文網其他相關文章!