サーバーは日本国内のホスティング会社の専用サーバーを利用します。
投稿された時間を現地時間と日本時間とで表示させる場合、
具体的にどのような考え方をしておくと良いでしょうか?
投稿者のIPから国と地域を判別して日本時間との時差を
計算させるといったイメージでしょうか?
また、難易度としてはどの程度のことでしょう?
>投稿者のIPから国と地域を判別して日本時間との時差を
>計算させるといったイメージでしょうか?
投稿者のIPアドレスから国を判別する方法としては、 GeoIP というシステムがあります。(データベースには有償版と無償版あり。有償版のほうが高精度です)
GeoIP を使用するためのプログラムやライブラリは各種揃ってますし、ほとんどのプログラム側は無償で使用できます。掲示板のスクリプトを書いたことがある人なら、難しくはないでしょうね。
ただ、ひとつの国で標準時が複数ある国もありますから、そこは注意する必要があります。
具体的には
・サーバ内部には、投稿日時を UTC か何かで記録する。
・表示の際は、IPアドレスから判断した国の、標準的なタイムゾーンに変換する。
そんなところかと。
Javascriptで時間を取得する。
http://www.tagindex.com/javascript/time/
------
POSTするときに、Javascriptで時間を取得します。
Javascriptで取得できるのは、クライアント(PC)の時間なので
現地時間になります。
ありがとうございます。
記事を保存するときに使用する日時データはサーバーのものを使うのが一般的です。
その際、GMT(グリニッジ標準時)で記録しておくと、各国の標準時にあわせるときに便利です。
PHP、Perl、Javaなど、サーバーサイドで動くプログラムには時刻変換関数が組み込まれているので
あとはIPやCookieなどの情報を元にタイムゾーン(標準時帯)を判別して表示します。
ありがとうございます。
>投稿者のIPから国と地域を判別して日本時間との時差を
>計算させるといったイメージでしょうか?
投稿者のIPアドレスから国を判別する方法としては、 GeoIP というシステムがあります。(データベースには有償版と無償版あり。有償版のほうが高精度です)
GeoIP を使用するためのプログラムやライブラリは各種揃ってますし、ほとんどのプログラム側は無償で使用できます。掲示板のスクリプトを書いたことがある人なら、難しくはないでしょうね。
ただ、ひとつの国で標準時が複数ある国もありますから、そこは注意する必要があります。
具体的には
・サーバ内部には、投稿日時を UTC か何かで記録する。
・表示の際は、IPアドレスから判断した国の、標準的なタイムゾーンに変換する。
そんなところかと。
ありがとうございます。
各国の言語に対応する文字コードを扱うとか。
スクリプトは単純に書けると思いますが、自作するなら骨の折れる作業になるかと。
各国の時刻を返すAPIが存在していればまた労力も違ってくるでしょうけど。
ありがとうございます。
ありがとうございます。