C# 将2个字符串格式化为RSS PubDate

C# 将2个字符串格式化为RSS PubDate,c#,rss,pubdate,C#,Rss,Pubdate,我有两个字符串,日期:“27.03.11”和时间:“15:04”,我想将其格式化为rss文件的PubDate元素,如Fri,2005年11月18日19:12:30 GMT。 如何在c sharp中执行此操作?使用以下步骤: 将日期和时间字符串解析为一个DateTime变量。为此,请使用静态方法 使用的方法将datetime转换为GMT(如果需要——我认为根据RSS规范,这不是强制性的) 使用方法将此变量格式化为字符串。以下MSDN页面将帮助您根据需要选择正确的格式字符串: 由于RSS

我有两个字符串,日期:“27.03.11”和时间:“15:04”,我想将其格式化为rss文件的PubDate元素,如Fri,2005年11月18日19:12:30 GMT。
如何在c sharp中执行此操作?

使用以下步骤:

  • 将日期和时间字符串解析为一个
    DateTime
    变量。为此,请使用静态方法
  • 使用的方法将datetime转换为GMT(如果需要——我认为根据RSS规范,这不是强制性的)
  • 使用方法将此变量格式化为字符串。以下MSDN页面将帮助您根据需要选择正确的格式字符串:

由于RSS要求日期为RFC 822格式,以下相关SO问题可能会帮助您完成最后一步:

编辑:对于第一步,请看以下示例:

var s = "27.03.11 15:04"; 
var dtm = DateTime.ParseExact(s, @"dd.MM.yy HH\:mm", null);

\:
确保
被视为文本
而不是特定于区域性的时间分隔符。)

首先,将两者解析为相同的日期时间,并使用该日期时间生成结果字符串。您能帮我处理第一部分吗?我在教程中尝试了以下示例,但始终出现错误“字符串未被识别为有效的日期时间”;MyString=“1999-09-01 21:34下午”//MyString=“1999-09-01 21:34下午”//取决于您的区域设置DateTime MyDateTime;MyDateTime=新的日期时间();MyDateTime=DateTime.ParseExact(MyString,“yyyy-MM-dd HH:MM-tt”,null);这个日期没有意义:如果是24小时,你不需要上午或下午。我在回答的第一部分中添加了一个示例。@kojoma:PS:不要相信那个教程,它是错误的代码(例如,在填充ParseExact之前,不需要将MyDateTime设置为“new DateTime()”)。