2011-01-06 7 views
2

私はfullcalendarというjqueryカレンダーを使用しています。ユーザーが1日をクリックすると、別のページに送信され、その日の予定が作成されます。クリックされた日付はdateとして提供されます。次に、以下の関数を実行してUNIX時間に変換します。私は日付変数を警告するとき、私はjavascriptの日付のライブラリを使用しています

$formatDate = $.PHPDate("U", date); 

は、私はこの

火2011年1月4日00:00:00 GMT +のような出力が得られ、ここでhttp://joncom.be/code/jquery-phpdate/

を見つけました1100 (EST)

この時間は正しいですが、$は、FormatDateを適用した後unix出力が正しいタイムゾーンにない関数です。

残念ながら、サーバーに対してローカル時間が返されており、ユーザーのタイムゾーンに正しい時刻を入力する必要があります。ドキュメンテーションではタイムゾーンの参照があるようですが、ドキュメントではタイムゾーンは「未サポート」となっています。

どうしたら私のUNIXタイムスタンプを正しいタイムゾーンに変換できますか?

私は、JavaScript/codeigniterのバックグラウンドからjavascriptでの経験はほとんどありません。

ありがとうございました。 http://www.hunlock.com/blogs/Javascript_Dates-The_Complete_Reference:ここではティム

+0

これはJavascriptではなくActionScriptライブラリです。 – Kai

+0

申し訳ありません...私は正しいサイトだと思うものへのリンクを更新しました...私はjquery fullcalendarでこれを使用しているので、これはjavascriptです。 – Tim

答えて

0

は、JavaScriptでのタイムゾーンについて多くのことを説明する素晴らしい記事です。

ボトムラインは、出力は常にユーザーのコンピュータ(または少なくともブラウザの)タイムゾーンになります。これをテストするには、コンピュータの設定でタイムゾーンを変更します。ブラウザで日付が変わるのを見ることができます(リフレッシュ後ももちろんです)。

これはあなたの意義ですか?

+0

こんにちは、ありがとうございます。これは素晴らしい参考資料です!乾杯。残念ながら私はまだ混乱しています。私はvar日付がブラウザの日付を返すことを知っています。しかし、私が$ formatDate = $ .PHPDate( "U"、date); UNIXの時刻に変換するには間違った日付を返すか、正確にはテキサスの時刻(私のサーバーがホストされている場所)の日付を返します – Tim

+0

ああ、そうです。さて、あなたがそれを作成する時(CST?)にタイムゾーンを追加すると、あなたの現地時間への「変換」が残りを行うことになると私は確信しています。結局のところ、どのタイムゾーンを使用するかはまったく問題ではありません。それは同じ瞬間です。また、適切な名前の 'gmtime()' PHP関数を使用してutcで時間を作成し、次にjavascriptでDate.UTC()を使用して日付を作成することもできます。最後に、PHPで 'date_timezone_set'を使用することができますが、UTCのオプションは最もクリーンで移植性の高いものです。 –

関連する問題