米国でのタイムゾーンについてお尋ねします。

掲示板やブログなどを作る際に、投稿時間にサーバ時刻を取得することはよくあると思います。サーバのタイムゾーンをなににするかは日本だと日本語=在日本=同一タイムゾーンなのであまり悩みませんが、国内に複数のタイムゾーンがある米国ではどのように処理しているのでしょうか。
・メジャーなタイムゾーン(東部標準時?)に合わせる。その他のタイムゾーンでは脳内補正
・投稿フォームに、投稿者のタイムゾーンを選べるプルダウンメニューなどをつける
・JavaScriptなどをつかって、クライアント側で時刻を補正する
・日本では使わないので知られていないだけで、実は、タイムゾーンを吸収するコマンドが、シェルにもPerlにもPHPにも存在する
・無視して、サーバのある場所のタイムゾーンに合わせる(googleなら太平洋標準時、facebookなら東部標準時など)
などが考えられるのですが、彼らはどうにしているのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2010/02/15 13:26:08
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:km1967 No.1

回答回数541ベストアンサー獲得回数40

ポイント23pt

質問の主旨がよく分からないのだが、たとえば日本にあるサーバなら、普通、"2010/02/14 10:00:00+0900" のように記録するし、米東部標準時帯にあるサーバなら "2010/02/13 20:00:00-0500" のように記録する。

ブラウザ(クライアント)側にもタイムゾーン設定があり、サーバから受け取る時刻を自動的にローカル時刻に変換して表示している。

http://www.tohoho-web.com/lng/r200006/00060037.htm

id:nikita_r

サーバに記録する時刻は、UTFなりサーバの置いてある場所のTZなりで行うのでしょうけど、クライアント側に出力するときに、それをそのまま出すのか、JSなりで補正するのかということです。

2010/02/15 13:23:07
id:Craftworks No.2

回答回数20ベストアンサー獲得回数6

ポイント23pt
  1. 投稿時、サーバー側では全て UTC で時刻を保存。
  2. 設定画面を用意し、ユーザーにタイムゾーンを選ばせる。(Cookie なりユーザーテーブルなりに保存)
  3. ページ表示時に、ユーザーが選んだタイムゾーンに補正した時刻を表示する。

というやり方が一番シンプルではないでしょうか。

入力時に統一し、出力時に変えるというのがポイントです。

MySQL だと CONVERT_TZ() などが使えると思います。アプリケーション側で変換しても良いですが。

http://dev.mysql.com/doc/refman/5.1/ja/date-and-time-functions.h...

id:nikita_r

ありがとうございます。

そのような補正をいちいち行うというのは、広大な国土もたいへんですね。

日本も、文字コートで同じようなことをしていると言えなくもないですが。

2010/02/15 13:24:51
id:ucccoffee37 No.3

回答回数24ベストアンサー獲得回数1

id:nikita_r

すいませんが、ちょっと・・・

2010/02/15 13:25:29
id:natema No.4

回答回数21ベストアンサー獲得回数0

ポイント22pt

http://php.net/manual/ja/timezones.php

PHPではサポートされてますが、実際にどう使われてるかはわかりかねます。

id:nikita_r

実際の使われ方が知りたかったです・・・

2010/02/15 13:25:57
  • id:km1967
    >クライアント側に出力するときに、それをそのまま出すのか、JSなりで補正するのかということです。

    あのー、No.1の回答を読んでくれましたか?
    「ブラウザ(クライアント)側にもタイムゾーン設定があり、サーバから受け取る時刻を自動的にローカル時刻に変換して表示している」と書いてあるんですけど。
  • id:km1967
    結局、均等俳文で終わりですか・・・やれやれ

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません