人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ASPでアプリケーションサービスを提供しているものです。

今度たまたまですが共用でアプリケーションを稼働させているサーバに海外の方を格納させることになりました。

現在までのところアプリケーションで活用する「時間」という概念についてはサーバ自体が保有している時間をNOWを使ってとっていたのですが(これはあくまで日本時間ですので)海外の方に対しては時差を考慮しなければならなくなりました。

プログラムを修正すれば問題ないのですが、実のところ修正範囲が数多く負担が大きいため躊躇しております。

どなたかよいツールや方法をご存知の方がいらっしゃったら教えて頂きたく思います。

要点は共用サーバにて、時間を取る場合に国等考慮しそれぞれ異なる時間を取る方法です。何卒よろしくお願いします。


●質問者: kobazumi
●カテゴリ:インターネット ウェブ制作
✍キーワード:ASP たまたま アプリケーション サーバ サービス
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

共用サーバにて、時間を取る場合に国等考慮しそれぞれ異なる時間を取る方法

“時間をとる”のはクライアントですよね。サーバのローカル時間は、そのサーバが設置されている国の地域時間(日本の場合は日本標準時)だけです。

となると、サーバ側ではそのクライアントが存在している国が分からないと、時差を計算して、クライアントがいる地域のローカル時間を返してあげることができません。


IPアドレスやユーザーエージェントからある程度の類推はできますが、完全ではありません。

もし会員制サイトなら、その会員が住んでいる国を登録させることで、その国のローカル時間を返すことはできるでしょう。

その場合、一般論としては、RFC3339形式の日時表記を使います。

下記サイトを参考にしてください。

◎質問者からの返答

ご回答ありがとうございます。助かります。

私の質問がとんちんかんでしたら申し訳ありません。

国は一応分かっているのですが、プログラムを直接修正するのではなくサーバの日本時間を

そのお客様だけちょっとしたスクリプトなどで海外時間に変更してくれるツールがあれば助

かります。

例えばアメリカのASP事業者ですと、アメリカって広いので場所によって随分時差が生じて

しまうと思います。その場合サーバ時間ではなくなんらかの方法によりその方にあった時間を

返しているように思われます。それはそもそもプログラムで行っているのでしょうか?

私の質問がとんちんかんな可能性があります。できればもう少し具体的に教えて頂けるとありが

たいです。


2 ● pahoo
●35ポイント

その場合サーバ時間ではなくなんらかの方法によりその方にあった時間を返しているように思われます。

サーバからRFC3339形式の日時を返し、クライアント側で変換するのが普通です。


クライアントOSをインストールするとき、地域(locale)を指定しますよね。(日本の場合は1種類しかないので、あまり意識していないかもしれませんが)

そのクライアントのlocaleと、サーバから送られてくるRFC3339形式の日時から、クライアントのローカル時間を計算して表示します。これはクライアントサイド・スクリプトで処理するものなので、そのアプリケーションに合わせて作ってやらなければなりません。単純にツールを入れて実現できるものではありません。


たとえば、JavaScriptで実装するなら「RFC3339 to JavaScript Date Object」のような方法があります。

◎質問者からの返答

ありがとうございます。本当に感謝します。自分なりに調べて実装してみます。お例申し上げます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ