エントリーを投稿する時の日時をどう処理するか。

シェアする

日本標準時間でいう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情報集めれるんだろう、英語圏はいいとしてそれ以外の言葉は全くわからん。どこかに一覧でもあれば別だが・・・

んで最終的にどうするかというと・・・

日本にいる限り考えない、という事にした。とりあえず、今までどおりサーバの時間をつっこみます。あひゃ!

Sponsored Link

シェアする

フォローする

コメント

  1. 味塩 より:

    つか、REMOTE解析だと串挟んだときにおかしくなるっしょ。
    一番楽なのは時差用プルダウンつけること。
    それ以外だとブラウザから情報を送る方法がほとんどないと思う。

  2. jklraid より:

    デフォルト値を設定して、リストに該当しないものはJSTにする、とかすればおkだろう。

    プルダウンとか入力欄増やしたくないよ。トラックバックにはつかえないし。

  3. satoshi より:

    やっぱりJavaScript使って、
    投稿者のシステム時間をポストさせるのがいいような。
    JavaScript非サポートな環境はしょうがないということで。

    でも、時系列で見るとき、時差計算必要だから見づらくない?

  4. jklraid より:

    やっぱJavaScriptが確実かなあ。w3mで使えないのはしょうがない、使うのほとんどいないし。どこかで妥協しないと作れないかな。

    見易さは気にしないということで!