首頁 > web前端 > js教程 > 主體

如何在 JavaScript 中確定夏令時目前是否有效?

Susan Sarandon
發布: 2024-11-19 15:28:03
原創
635 人瀏覽過

How to Determine if Daylight Saving Time Is Currently in Effect in JavaScript?

確定夏令時(DST) 狀態

在JavaScript 中,準確計算時差可能會受到DST 的影響,DST 會透過以下方式調整本地時間一小時。要處理這個問題,必須確定 DST 是否生效。

檢查 DST 狀態

Date 物件透過 getTimezoneOffset 提供了解決方案,它會傳回本地與本地時間之間的差異時間和 UTC(以分鐘為單位)。但是,請注意,getTimezoneOffset 對於 UTC 以西的時區(例如,洛杉磯)傳回正值,對於 UTC 以東的時區(例如,雪梨)傳回負值。

為了解釋這一點,以下程式碼片段可以使用:

Date.prototype.stdTimezoneOffset = function() {
  var jan = new Date(this.getFullYear(), 0, 1);
  var jul = new Date(this.getFullYear(), 6, 1);
  return Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset());
};

Date.prototype.isDstObserved = function() {
  return this.getTimezoneOffset() < this.stdTimezoneOffset();
};
登入後複製

stdTimezoneOffset 函數傳回一月和七月之間較大的偏移值,有效地表示標準時間偏移。然後 isDstObserved 函數將當前偏移量與該標準偏移量進行比較。如果目前偏移量較小,則表示正在使用 DST。

使用範例

var today = new Date();
if (today.isDstObserved()) {
  alert("Daylight saving time!");
}
登入後複製

注意: DST 開始和結束日期因地區而異,因此建議諮詢當地消息來源以獲取準確資訊.

以上是如何在 JavaScript 中確定夏令時目前是否有效?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板