掲示板やブログなどを作る際に、投稿時間にサーバ時刻を取得することはよくあると思います。サーバのタイムゾーンをなににするかは日本だと日本語=在日本=同一タイムゾーンなのであまり悩みませんが、国内に複数のタイムゾーンがある米国ではどのように処理しているのでしょうか。
・メジャーなタイムゾーン(東部標準時?)に合わせる。その他のタイムゾーンでは脳内補正
・投稿フォームに、投稿者のタイムゾーンを選べるプルダウンメニューなどをつける
・JavaScriptなどをつかって、クライアント側で時刻を補正する
・日本では使わないので知られていないだけで、実は、タイムゾーンを吸収するコマンドが、シェルにもPerlにもPHPにも存在する
・無視して、サーバのある場所のタイムゾーンに合わせる(googleなら太平洋標準時、facebookなら東部標準時など)
などが考えられるのですが、彼らはどうにしているのでしょうか?
質問の主旨がよく分からないのだが、たとえば日本にあるサーバなら、普通、"2010/02/14 10:00:00+0900" のように記録するし、米東部標準時帯にあるサーバなら "2010/02/13 20:00:00-0500" のように記録する。
ブラウザ(クライアント)側にもタイムゾーン設定があり、サーバから受け取る時刻を自動的にローカル時刻に変換して表示している。
というやり方が一番シンプルではないでしょうか。
入力時に統一し、出力時に変えるというのがポイントです。
MySQL だと CONVERT_TZ() などが使えると思います。アプリケーション側で変換しても良いですが。
http://dev.mysql.com/doc/refman/5.1/ja/date-and-time-functions.h...
ありがとうございます。
そのような補正をいちいち行うというのは、広大な国土もたいへんですね。
日本も、文字コートで同じようなことをしていると言えなくもないですが。
すいませんが、ちょっと・・・
実際の使われ方が知りたかったです・・・
サーバに記録する時刻は、UTFなりサーバの置いてある場所のTZなりで行うのでしょうけど、クライアント側に出力するときに、それをそのまま出すのか、JSなりで補正するのかということです。