1

以下に示すように、UTC で期限を設定しましたが、ユーザーのローカル マシンで toLocaleString() メソッドが正確に何を行うのか疑問に思っています。たとえば、サマータイムを認識するタイムゾーンにいる場合、サマータイムは考慮されますか? または、ユーザーがどこにいるかを確認し、表示された時間を修正する追加のコードを挿入する必要がありますか?

http://javascript.about.com/library/bldst.htm

var deadline = new Date('5/1/2013 ' + "16:15" + ' UTC');
alert(deadline.toLocaleString());
4

3 に答える 3

2

「UTC」を使用すると、日付自体は UTC 形式になりますが、 toLocaleString()はクライアントのロケールを考慮します。つまり、クライアントの地域およびロケール設定 (DST、date/時刻形式など)。
JS のドキュメントでは、「toLocaleString() メソッドは、ロケール設定を使用して、Date オブジェクトを文字列に変換します」と説明しています。.
これを回避したい場合は、toUTCString()代わりにメソッドを使用してください。また、質問Javascript の日付: 夏時間に対処する最良の方法は何ですか?

の受け入れられた解決策を読むことをお勧めします。回避するため (少なくとも、回避しようとする:) JS、ブラウザー、およびロケールに関連する将来の問題。お役に立てれば!

于 2013-05-01T12:58:59.910 に答える