19時07分54秒 [Web関連]
日付を表現する方法はいろいろありますが、RSSフィードで用いられるのは主に、W3Cで策定されているW3C-DTFか、RFC2822で規定されているメールなどに用いられているフォーマットのようです。前者は「2006-02-14T17:29:31+09:00」のような感じで、後者は「Tue, 14 Feb 2006 17:30:09 +0900」みたいな感じです。
この後者のRFC2822で規定されているフォーマット、半角スペースがあるかないかだけで、読めたり読めなかったりするんですかね?
私が製作・公開しているRSS自動作成ソフト「Fumy RSS & Atom Maker」をバージョンアップしました。Ver 0.69です。
ここで、更新日付を表現するフォーマットをちょっと修正しました。
ちょっと分かりにくいですが、日付数値(上記では14)の直前に、半角スペースを1つ挿入するようにしました。
挿入するのがRFC2822的に正しいのかどうか調べてないのですが(^^;)、他のブログツールなどが吐くこのフォーマットを見ても、スペースが入っていたので、入れるようにしてみました。
ユーザの方から指摘を受けたのですが、「goo RSSリーダ」を使うと、上記の「半角スペースがない場合」だと、更新日付を認識しないそうです。
直前の曜日とはカンマで区切られてるんだから、スペースがないくらいで認識しなくなるというのもどうかと思うのですが(^^;)、でも、他のRSSを見ると半角スペースが入ってたので、入れてみました。
RFC2822を読んでも、イマイチどう書くのが正式なのかよく分からんのですが(^^;)、まあ他のツールが吐く形式と合わせたんだから、これで問題なくなるでしょう。(^^;;;
「Fumy RSS & Atom Maker」の場合、RSS1.0とAtom0.3では、W3C-DTFの日付フォーマットを使っています。RSS2.0でだけRFC2822の日付フォーマットを使っています。
W3C-DTFのフォーマット(2006-02-14T17:29:31+09:00)は、プログラムからは扱いやすいでしょうけど、人間が直接読むには、「T」あたりがちょっと見づらいですね。(^^;)
参考◆日付の表記に関するノート(@The Web KANZAKI)
この日記へのコメントはお気軽に! コメント数:1件
コメント数: 1件
今、pubDate(RFC2822の日付フォーマット)を調べていてここへきました。
なるほど、いろいろとフォーマットに気を遣わないと行けないみたいですね。。。
私が調べているのは、たとえば日時記録に秒を入れたくないとき、分を入れたくないとき、などに
Tue, 14 Feb 2006 17:30:09 +0900
→
Tue, 14 Feb 2006 17:30 +0900
や
Tue, 14 Feb 2006 17 +0900
のようにかけるのかなぁ、というのを知りたくて調べています。ご存じでしょうか?
投稿者 石川 : 2008年08月10日 17:26