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 サイトの他の関連記事を参照してください。