2016-08-09 9 views
0

私は、PHP形式の時間があります:g:ia T午後2時AEST。私はそれから、普通のフォーマットのタイムゾーンの下の隠れたdivに印刷しました:Australia/Sydney。このタイムゾーンは、その時間を出力するために使用されるタイムゾーンです(私はこれらの時間のいくつか、そして私のページ上の対応する異なるタイムゾーンを持っています)。私は自分のページの上部にあるリンクを持っているので、ユーザーはすべての時間を自分の現地時間に変換することができます(まだ動作していません)。ユーザがこのリンクをクリックすると、タイムゾーンは同じフォーマットで出力される。ヨーロッパ/ロンドン。javascriptを使用して時間を別のタイムゾーンに変換します。

どのように私は時間と、その時間を作成するために使用されるタイムゾーン、およびユーザーのタイムゾーンは、JavaScriptを使用しているユーザーのタイムゾーンに変更するのですか?

+3

ライブラリ勧告は、スタックオーバーフローのためofftopicあり、しかし、あなたが具体的に質問していないので、私は[moment.js](http://momentjs.com/)に言及します - あなたはJSのこのレベルで日付/時刻を扱っているなら、主要なDateオブジェクト以上のもの –

+0

Jamesさん、ライブラリーのおすすめを必ずしも探しているわけではありませんが、私は確かにチェックアウトしています。コア日付オブジェクトを使用してこれを解決する方法はありますか(コードのヒープを書くことなく)。 (私はJavaScriptの世界に新しいです)申し訳ありません。 – user1190132

+0

javascriptのDateオブジェクトの 'getTimezoneOffset();'でユーザのUTCオフセットを取得できます。いいえ。あなたのタイムゾーンを確認することができますUTCと異なります。 – Viney

答えて

0

私は自分のために特定のコードの答えを探していますが、私の研究から、モーメントタイムゾーンは、javascriptを使って時間を異なるタイムゾーンに変換する最も簡単な方法であることを確認できます。正しい方向に私を押してくれてありがとうJames Thorpeに感謝します。 moment-timezone.jsはこの目的のために特別に構築されていますが、通常のmoment.jsは(少なくとも簡単には)タイムゾーン間で変換されません。 http://momentjs.com/timezone/もタイムゾーンについてここで良いのwikiは、より一般的にあります:あなたがここでより多くの情報を見つけることができます

var jun = moment("2014-06-01T12:00:00Z"); 
var dec = moment("2014-12-01T12:00:00Z"); 

jun.tz('America/Los_Angeles').format('ha z'); // 5am PDT 
dec.tz('America/Los_Angeles').format('ha z'); // 4am PST 

jun.tz('America/New_York').format('ha z');  // 8am EDT 
dec.tz('America/New_York').format('ha z');  // 7am EST 

jun.tz('Asia/Tokyo').format('ha z');   // 9pm JST 
dec.tz('Asia/Tokyo').format('ha z');   // 9pm JST 

jun.tz('Australia/Sydney').format('ha z');  // 10pm EST 
dec.tz('Australia/Sydney').format('ha z');  // 11pm EST 

:ここでは瞬間-timezone.jsはアクションであるhttps://stackoverflow.com/tags/timezone/info