日本標準時間でいう2007年4月14日午前8時0分0秒にBLOGにエントリーとかコメントしたときの日付を
イギリスから投稿 -> 2007-04-13T23:00:00+0000
日本から投稿 -> 2007-04-14T08:00:00+0900
ってしたいんだけどどうやって処理すべきだろうか。
PHPだとサーバのタイムゾーンに依存しちゃうだろうし、JavaScript使えばいけそうな気するけど全然わかんない上に、愛用のW3Mで使えない。その辺、複数タイムゾーンがあるアメリカとかロシアの人はどうしてるんだろうか。きにしてない?
例えば、エントリーに投稿する時にタイムゾーンを指定するとか。
エントリー投稿ページのHTMLのselectにぶちこんで、+9:00 をselectedにすればおk。ただこの方法だとコメント投稿も入力欄増えちゃう。フォーム欄は少ないほうがいい、というか日付如きで入力欄増やしたくない。そしてトラックバック受信するときはやっぱりサーバの時間が入っちゃう。
もしくは HTTPの REMOTE_HOST の値から国と場所を識別するか。
この方法だとプログラムが勝手に処理してくれるから楽だ。しかしこの方法だと全世界のISPの情報を引っ張ってこなければいけない。楽しようとTLDだけ見ると「.jp」がつかない日本のISPがある場合に対処できない。何よりよく使われる「.com」がどこか判定できない(誰でも取れる)。というわけだが、どうやってISP情報集めれるんだろう、英語圏はいいとしてそれ以外の言葉は全くわからん。どこかに一覧でもあれば別だが・・・
んで最終的にどうするかというと・・・
日本にいる限り考えない、という事にした。とりあえず、今までどおりサーバの時間をつっこみます。あひゃ!
コメント
つか、REMOTE解析だと串挟んだときにおかしくなるっしょ。
一番楽なのは時差用プルダウンつけること。
それ以外だとブラウザから情報を送る方法がほとんどないと思う。
デフォルト値を設定して、リストに該当しないものはJSTにする、とかすればおkだろう。
プルダウンとか入力欄増やしたくないよ。トラックバックにはつかえないし。
やっぱりJavaScript使って、
投稿者のシステム時間をポストさせるのがいいような。
JavaScript非サポートな環境はしょうがないということで。
でも、時系列で見るとき、時差計算必要だから見づらくない?
やっぱJavaScriptが確実かなあ。w3mで使えないのはしょうがない、使うのほとんどいないし。どこかで妥協しないと作れないかな。
見易さは気にしないということで!