14

タイムゾーンの変換を処理できる (そして DST 規則などを考慮に入れる) JavaScript ライブラリはありますか? 同様の質問があることは知っていますが、私が見た質問のどれも、私の質問に本当に合う答えを持っていないようです.

タイム ゾーン A で日付を作成し、それを操作して (日、時間などを追加)、別のタイム ゾーン B に変換できるようにしたいと考えています。この種の機能が必要な人はたくさんいるはずです。 、だから私が見つけていないライブラリがそこにあるはずです。

4

4 に答える 4

11

MOMENT - 日付を解析、検証、操作、およびフォーマットするための 5kb の JavaScript 日付ライブラリ。

瞬間()。ゾーン(); これはあなたが望む機能です。

datejsを試すこともできますが、私は瞬間ライブラリを好みます。それらには優れたドキュメントがあり、優れたコードが維持されています。

于 2012-11-22T23:18:18.667 に答える
9

私はあなたがこれを望んでいると思います:

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コードの変更でそれをサポートすることはまったく難しいとは思わないので、うまくいけばよいと思います。遅かれ早かれそれがマージされるのを見てください..または私はそれを自分で行うかもしれません;)

于 2012-11-23T03:59:45.383 に答える
-3

この投稿を見ることができます: jquery を使用してユーザーのタイムゾーンを取得する方法は?

タイムゾーンを変換するためのライブラリは必要ないようです。

-- 編集 (Stackoverflow で他の質問の回答を読むのが面倒な人向け)

標準の Date オブジェクトを次のように使用できます。

var offset = (new Date).getTimezoneOffset()/60

そして、仕様を読むのが苦手な人のために...

これにより、世界時による時間var hour = (new Date).getUTCHours() が得られます。また、現地時間による時間が得られます。var hour = (new Date).getHours()

今わかりましたか?

于 2012-11-22T23:17:40.137 に答える