タイムゾーンの変換を処理できる (そして DST 規則などを考慮に入れる) JavaScript ライブラリはありますか? 同様の質問があることは知っていますが、私が見た質問のどれも、私の質問に本当に合う答えを持っていないようです.
タイム ゾーン A で日付を作成し、それを操作して (日、時間などを追加)、別のタイム ゾーン B に変換できるようにしたいと考えています。この種の機能が必要な人はたくさんいるはずです。 、だから私が見つけていないライブラリがそこにあるはずです。
タイムゾーンの変換を処理できる (そして DST 規則などを考慮に入れる) JavaScript ライブラリはありますか? 同様の質問があることは知っていますが、私が見た質問のどれも、私の質問に本当に合う答えを持っていないようです.
タイム ゾーン A で日付を作成し、それを操作して (日、時間などを追加)、別のタイム ゾーン B に変換できるようにしたいと考えています。この種の機能が必要な人はたくさんいるはずです。 、だから私が見つけていないライブラリがそこにあるはずです。
私はあなたがこれを望んでいると思います:
https://github.com/mde/timezone-js
パーサーは、人がまとめた他のライブラリなしで実行するには少し微調整が必要ですが (少なくとも最後に使用したのは.. 5 か月前ですか?)、それ以外の点では、これは堅実なライブラリのようです。私は、タイムゾーンに非常に敏感で、トラフィックの多い 2 つの商用サイトで使用し、大きな成功を収めました。
ただし、jquery の日付ピッカーと momentjs (およびおそらく他のライブラリ) ではうまく機能しない場合があるため、これらのライブラリを微調整して timezoneJS の日付を使用するか、to/from 変換関数を用意して timezonejs を有効にする準備をしてください。入力/出力では、日付を「通常の」日付に、またはその逆に変換します。
それ以外の場合、例として、これはアジア/シンガポールのタイムゾーンの日付を取り、その年の夏時間を考慮しながらアメリカ/ロサンゼルスの日付に変換します。無料で入手できる Olson タイムゾーン ファイルを使用し、実際に正確なものに解析します。
うまくいけば、これで正しい道に進むことができます。
- 編集 -
忘れました-使用に関するいくつかのヒント。タイムゾーンのセットが限られている場合は、パーサーにそれらのみを使用するように指示して、それらを除外することを強くお勧めします。そうすれば、それらすべての大きなファイルをロードする必要はありません。また、setHours、setMinutes などが setHours(0, 0, 0, 0) (時間、分、秒、ミリ秒) の JS の「仕様」に従っていないため、一度キックされました。ここに機能強化のリクエストがあります: https://github.com/mde/timezone-js/issues/48コードの変更でそれをサポートすることはまったく難しいとは思わないので、うまくいけばよいと思います。遅かれ早かれそれがマージされるのを見てください..または私はそれを自分で行うかもしれません;)
この投稿を見ることができます: jquery を使用してユーザーのタイムゾーンを取得する方法は?
タイムゾーンを変換するためのライブラリは必要ないようです。
-- 編集 (Stackoverflow で他の質問の回答を読むのが面倒な人向け)
標準の Date オブジェクトを次のように使用できます。
var offset = (new Date).getTimezoneOffset()/60
そして、仕様を読むのが苦手な人のために...
これにより、世界時による時間var hour = (new Date).getUTCHours()
が得られます。また、現地時間による時間が得られます。var hour = (new Date).getHours()
今わかりましたか?