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

夏令時有效嗎?用於偵測和計算 DST 偏移量的 JavaScript 方法。

Patricia Arquette
發布: 2024-11-13 12:55:02
原創
808 人瀏覽過

Is Daylight Saving Time in Effect? A JavaScript Approach to Detecting and Calculating DST Offset.

JavaScript 中的DST 偵測與偏移量計算

給定的程式碼計算兩個日期之間的時差,將其分解為年、日、小時、分鐘和秒。但是,夏令時 (DST) 可能會導致差異。本文深入探討判斷夏令時是否生效並計算其偏移量的機制。

檢查夏令時

關鍵在於 getTimezoneOffset() 方法。與 DST 相比,它在標準時間期間傳回更大的值。透過確定標準時間期間的預期偏移量,程式碼將其與給定日期的偏移量進行比較。如果偏移量較小,則表示 DST。

getTimezoneOffset 注意事項

請注意,getTimezoneOffset() 對於UTC 以西的時區返回正值,通常表示為負小時(例如,洛杉磯:UTC–標準時間 對於UTC 標準時間8 小時)。相反,它會傳回東半球的負值(例如,雪梨:冬季的 UTC 10 點)。

程式碼範例

使用DST 延長日期功能:

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();
}
登入後複製

用法:

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

用法:透過合併此功能,即使在DST 轉換期間,您的程式碼也可以準確計算時差。

以上是夏令時有效嗎?用於偵測和計算 DST 偏移量的 JavaScript 方法。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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