昨日一日、われながらまぬけなところをグルグル回ってたのでメモ。
発端というかそもそもはここのRSSをリーダーとかに読ませると記事の発行時間が9時間早くなってしまうことでした。朝の9時からブログ書いてたり。
でまぁ、そんなのはお約束でGMTというかUTCというか、世界標準時間と日本時間の変換がうまくいってないわけです。兵庫県の明石、東経135度が日本の標準で15度で1時間なので9時間。ここまではヨシ。
ブログ本体というか、ここで見るとちゃんと表示されてるので問題なし。とすると、RSSを発行する時点か、それを読み込んで処理する時点で時間がずれてるんじゃないかと推測できます。であれば、とRSSを見てみると「日付時刻時差」とフォーマットされて出力されてます。時差もちゃんと9時間。問題なし。だとすると問題は処理する段階にありそうです。
[tegaki]と思いこんだのがマズかった。[/tegaki]
結論としては時刻のところに入るべきはローカルタイム(現地時間:日本時間)でよかったのに、なぜかそこへ標準時が入ると思いこんでしまって迷路をグルグル。いやいやまいった。:sad:
しかし、なんでそんなまぬけな思いこみをしてしまったのかちょっと考えてみました。まず、どんな書式かを書いてみます。日付は省略で、日本時間の正午はこうなります。
12:00:00 +0900
でも、これって「9時間足せ」っていわれてるように思いませんか?すでに加算されているのであればカッコでくくるなりすればいいのに。しかしこの辺はメールのヘッダとかで何度も見たことあるのになんでだろう?と思ってたら理由がわかりました。以前は
12:00:00 JST
という表記が使われてたようです。JST=JapanStandardTime。この表記なら時刻部分はローカルタイムだと一目で理解できます。が、国名を表してるのが1文字だけなので世界的に使うにはムリ。なによりJSTっての自体が規格として定められてる文字列ではないそうで。
ローカルタイムのあとにアルファベット3文字、という書式を認めていたのはRFC822という規格なんですが、1982年に作られ、かなり古いってことで2001年に新しくRFC2822が定められました。それ以降は「ローカルタイム 時差」という書式に統一されたようです。
イヤもうわれながら思いっきり負け惜しみっぽいですが
10,000円 +税500円
これは内税に見えないでしょ。:lol: