我创建RSS项目。我有一个名为date_published的列,它是MS SQL数据库中的DateTime列。例如它包含“2011-05-04 15:19:05.630”
下面是我重新生成RSS可接受日期格式(输入数据库字段)的C#代码日期。
输入:
Convert.ToDateTime(item.date_published).ToString("r")
输出:
Wed, 04 May 2011 15:19:05 GMT
所以我在XML文件中查看了Notepad,结果如上所示。
问题:
当用户在Outlook RSS feedreader中收到此项时,它会提前+2小时显示。所以它显示在电子邮件outlook收到日期2011-05-04 17:19:05
所以我改变了我的代码:
item.pubdate_published.Value.ToString("r")
要:
item.pubdate_published.Value.ToString("ddd dd MMM yyyy HH:mm:ss +2 G'M'T")
这给了我一个我想要的东西:mer,04 mai 2011 15:19:05 +2 GMT。
问题: 我的RSS XMl文件也显示(上图),但我的OUTLOOK电子邮件收到的日期是06 / January / 2011 09:32
所以我能想到的唯一问题是语言问题......因为日期是用荷兰语或法语生成的。
如果这是问题:我如何用英文写日期?
答案 0 :(得分:1)
我发现了问题...... RSS XML文件中的日期时间必须是英文。所以我们生成的日期有时是荷兰语,有时是法语。
这就是我所做的: item.pubdate_published.Value.ToString(“r”)。replace(“GMT”,(“+ 2 GMT”);
现在小时和日期都是正确的。
小心这样做:ToString(“ddd dd MMM yyyy HH:mm:ss +2 G'M'T”)会产生特定的语言,而不是英语。 (“r”)总是用英语生成。