2012年6月25日月曜日

facebookの時間の扱い javascript


facebookのアプリを作っていますが、facebookの時間の扱いは、非常に難しいです。
イベント情報を、javascriptで取得する場合、ログイン済みと、そうでない場合では、時間が異なります。

まだ、確信を得ているわけではありませんが、ブラウザからのタイムゾーン情報ではなく、ユーザーがfacebookに登録した場所(国)で、ユーザーの時差を計算しているのではないかと思います。


ログイン済みであれば、次のように、求めました。

取得したイベント時間 - 9(日本の時差) - 7(ロス時間の時差、サマータイムに注意)

この値を、Dateクラスに設定して、値を得ました。


ログインしていない場合、

取得したイベント時間を、Dateクラスに設定して、値を得ました。


とりあえず、これで、期待通りに動いていますが、引っかかるもの(間違いがありそう?)があります。
ブラウザに依存しないか心配です。
何か知っている方がおられたら、コメントを、お願いします。


参考までに、PHPであれば、サーバーサイドになるため、ここまでの手間は掛かりません。
しかし、時間が異なるのは同じのようです。

0 件のコメント:

コメントを投稿