Date
JavaScript でオブジェクトを使用するプログラムがあります。プログラムがすべてのタイム ゾーン (国) で正しく動作していないことに気付きました。
そのため、Windows のタイム ゾーンを変更したところ、特定の日付で奇妙な結果が得られました。
これらのコード行を使用すると、多くのタイムゾーンで同じ結果が得られますが、そのうちの1つ(おそらくいくつか):
console.log( new Date( 2005, 2, 20 ) ); // 2005 Mar 20
console.log( new Date( 2006, 2, 20 ) ); // 2006 Mar 20
タイムゾーン: UTC 00:00
(正しい)
タイムゾーン: 太平洋 (米国およびカナダ) -08:00
(正しい)
時間帯: ニューファンドランド-03:30
(正しい)
タイムゾーン: 中国+08:00
(正しい)
タイムゾーン: イラン+03:30
(不正解! )
( 19 Marと23:00:00とDaylight vs. Standardに注意してください)
(同じ結果で Chrome で問題をテストしました)
このソリューションで問題を解決しました:
new Date( Date.UTC(2005, 2, 20) );
しかし、ここで何が起こるか知りたいですか?バグ
はありますか?+03:30
デイライトとスタンダードの違いは何ですか?
それは変だ...