[解決済み] DST(サマータイム)が適用されているかどうか、適用されている場合のオフセットを確認するには?
2022-04-20 18:29:29
質問事項
これは私のJSコードの一部で、これが必要なのです。
var secDiff = Math.abs(Math.round((utc_date-this.premiere_date)/1000));
this.years = this.calculateUnit(secDiff,(86400*365));
this.days = this.calculateUnit(secDiff-(this.years*(86400*365)),86400);
this.hours = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)),3600);
this.minutes = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)-(this.hours*3600)),60);
this.seconds = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)-(this.hours*3600)-(this.minutes*60)),1);
datetimeを"ago"で取得したいのですが、DSTが使用されていると、日付が1時間ずれてしまいます。サマータイムが適用されているかどうかを確認する方法がわかりません。
サマータイムの開始と終了を知るにはどうしたらいいですか?
解決方法は?
このコードでは
getTimezoneOffset
は
より大きい
の値は、標準時とサマータイム時で異なります。このように、標準時の予想出力を決定し、与えられた日付の出力が同じ(標準)か小さい(サマータイム)かを比較するのである。
以下のことに注意してください。
getTimezoneOffset
は以下を返します。
ポジティブ
ゾーン別分数
ウエスト
のUTCで、通常、次のように記述されます。
ネガティヴ
時間(UTCより遅れているため)。例えば、ロサンゼルスは
UTC-8h
を標準装備しています。
UTC-7h
DST
getTimezoneOffset
収益
480
(プラス480分)12月(冬、標準時)には、むしろ
-480
. を返します。
ネガティヴ
東半球の数字(例えば
-600
冬のシドニーのために、これは"先"であるにもかかわらず、(
UTC+10h
).
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!");
}
関連
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
Vueでルートネスティングを実装する例
-
[解決済み] Error : 未定義のプロパティ 'map' を読み取ることができません。
-
[解決済み] テスト
-
[解決済み】TypeErrorの解決方法。未定義またはヌルをオブジェクトに変換できない
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。
-
JavaScriptのgetElementById()メソッド入門
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] JavaScriptでクライアントのタイムゾーン(およびオフセット)を取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
[解決済み】リソースの読み込みに失敗した:Bind関数でサーバーが500(Internal Server Error)のステータスで応答した【非公開
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
[解決済み】TypeScript-のAngular Frameworkエラー - "exportAsがngFormに設定されたディレクティブはありません"
-
[解決済み】 `string.split is not a function` というエラーの原因は何ですか?
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。
-
[解決済み] JSの日付時刻をMySQLの日付時刻に変換する