ページ

2004年8月24日火曜日

.Text の RSS の時刻を修正しました

.Text も RSS の pubDate がバグってました。


たとえば日本時間の 15:00 にポストした記事の RSS の pubDate が

    <pubDate>Tue, 24 Aug 2004 15:00:00 GMT</pubDate>

なんてなっちゃってます。
時刻は日本時間なのに GMT で書いちゃってますね。


とりあえず、Dottext.Framework\Syndication\BaseRssWriter.cs の pubDate を書き込んでいるところを




// 元は entry.DateCreated.ToString("r") ですが、

// これを ToUniversalTime() で変換してから文字列化

// するようにします。

this.WriteElementString("pubDate",entry.DateCreated.ToUniversalTime().ToString("r"));


という感じにしました。
.Text では web.config にもタイムゾーンの設定がありますし、各ユーザ毎の設定にもタイムゾーンの項目があります。なので、ほんとうならそれらを参照すべきなんでしょうが、とりあえず横着して ToUniversalTime() とだけしています。私の環境だとサーバも日本時間なので問題ないですが、サーバのタイムゾーンが違う場合はもう一工夫必要ですね。
ちなみに、上記の 1ヶ所を修正すれば RSS と CommentRss の両方が直ります。

0 件のコメント:

コメントを投稿