ホームページ >ウェブフロントエンド >jsチュートリアル >サマータイムは実施されていますか? JavaScript での DST の正確な検出。

サマータイムは実施されていますか? JavaScript での DST の正確な検出。

DDD
DDDオリジナル
2024-11-24 22:58:10771ブラウズ

Is Daylight Saving Time in Effect? Detecting DST Accurately in JavaScript.

JavaScript での DST 検出: 正確な日付操作のステータスの確認

時刻表示や日付操作など、正確な時刻計算が必要な状況では、が重要であるため、夏時間 (DST) を考慮することが不可欠です。この季節調整をすぐに考慮しないと、時間計算に不一致が生じる可能性があります。

この懸念に対処するために、特定の時点で DST が実施されているかどうかを確認する JavaScript コード スニペットが開発されました。コア ロジックは、getTimezoneOffset が DST と比較して標準時間中に高い値を返すという事実に基づいています。標準時の予想されるオフセットを決定し、それを指定された日付のオフセットと比較することで、標準時または DST が適用されているかどうかを確認できます。

getTimezoneOffset が西のタイム ゾーンに対して正の値を返すことは注目に値します。 UTC と、UTC より東の場合は負の値。さらに、オフセットは通常は時間単位で表されますが、getTimezoneOffset はオフセットを分単位で返します。たとえば、ロサンゼルスは標準時は UTC-8h、DST は UTC-7h です。 12 月の getTimezoneOffset は、ロサンゼルスの場合は 480 (正の 480 分) になります。

次の JavaScript コードは、この概念について詳しく説明しています。

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 が現在有効であるかどうかを確認します。 getTimezoneOffset 指定された日付と標準時の予想との差。このロジックを利用することで、開発者は夏時間の影響を考慮しながら日付と時刻を正確に計算できます。

以上がサマータイムは実施されていますか? JavaScript での DST の正確な検出。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。