ホームページ > ウェブフロントエンド > jsチュートリアル > サマータイムは実施されていますか? DST オフセットを検出および計算するための JavaScript アプローチ。

サマータイムは実施されていますか? DST オフセットを検出および計算するための JavaScript アプローチ。

Patricia Arquette
リリース: 2024-11-13 12:55:02
オリジナル
884 人が閲覧しました

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

JavaScript での DST 検出とオフセット計算

指定されたコードは、2 つの日付間の時差を年、日、時、分、秒。ただし、夏時間 (DST) により誤差が生じる場合があります。この記事では、DST が実施されているかどうかを判断し、そのオフセットを計算するメカニズムについて詳しく説明します。

DST の確認

鍵は getTimezoneOffset() メソッドにあります。標準時間中は DST と比較してより大きな値を返します。標準時間中の予想されるオフセットを決定することにより、コードはそれを指定された日付のオフセットと比較します。オフセットが小さい場合は、DST を示します。

getTimezoneOffset に関する考慮事項

getTimezoneOffset() は、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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート