.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 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。