.NET中写RSS源XML中时间不能显示,在线急等!

witch007 2012-07-04 09:14:02
现需输出RSS源,也就是xml文件。遇到日期不能显示。看了一些网友的建议:“时间要按 RFC822 进行格式化,即按“Mon, 13 Apr 2009 05:30:10 GMT”的格式写入XML。”
而数据库的时间格式是“2009-4-20 18:30:00”
于是,写了一函数实现格式转换
如下:
public static DateTime Todate(object date)
{
DateTime rssdate = Convert.ToDateTime(date);
string[] month ={ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
string[] week ={ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
StringBuilder rd = new StringBuilder();
rd.Append(week[Convert.ToInt32(rssdate.DayOfWeek)]);
rd.Append(",");
rd.Append(rssdate.Day);
rd.Append(" ");
rd.Append(month[Convert.ToInt32(rssdate.Month) - 1]);
rd.Append(" ");
rd.Append(rssdate.Year);
rd.Append(" ");
rd.Append(rssdate.ToLongTimeString());
rd.Append(" ");
rd.Append("GMT ");
return Convert.ToDateTime(rd.ToString());

}
以下是写xml的item内容部分代码:
foreach (RssItem item in itemsimple)
{
XmlElement itemnode = domdoc.CreateElement("item");
……
element = domdoc.CreateElement("pubdate");
nodetext= domdoc.CreateTextNode(Todate(item.Pubdate.ToUniversalTime()).ToString ());
……
}
结果写入xml的时间格式是:
<item>
<title>信息管理系统作业</title>
<link>http://localhost:1741/rssandweb/read.aspx?FileID=3</link>
<description><![CDATA[本课程第一次面授课的课后作业是形成作业1。]]></description>
<author>李老师 </author>
<pubdate>2012-4-12 0:00:00</pubdate>
</item>
以上代码哪里有问题?
...全文
53 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
witch007 2012-07-05
  • 打赏
  • 举报
回复
请哪位高手指点下!小弟在线等!
witch007 2012-07-04
  • 打赏
  • 举报
回复
我改了一句:nodetext= domdoc.CreateTextNode(Todate(item.Pubdate.ToUniversalTime()).ToString (“r"));
现在xml文件中时间变为"Thu,12 Apr 2012 00:00:00 GMT"
但是并没有如网友们说的在网页上显示时间

huangwenquan123 2012-07-04
  • 打赏
  • 举报
回复
试试
item.Pubdate.ToUniversalTime().ToString("R");

62,051

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧