C#DateTime.ParseExact引发格式异常

C#DateTime.ParseExact引发格式异常,c#,asp.net-mvc,.net-4.0,C#,Asp.net Mvc,.net 4.0,我正在使用MVC3开发一个.NET4 Web应用程序 假设我从一个XML提要中获取以下DateTime作为字符串。我的应用程序正在读取xml提要,我正在遍历它的所有子体。我收到的日期时间以以下格式返回(作为字符串) 我正在使用下面的代码尝试将上面提到的DateTime字符串解析为有效的DateTime格式(最好是荷兰语) 当试图执行这段代码时,我面临一个格式化异常。有人有什么想法吗 --更新-- 这就是我得到的各种答案。仍然抛出相同的异常 var correctedDateTime = Date

我正在使用MVC3开发一个.NET4 Web应用程序

假设我从一个XML提要中获取以下DateTime作为字符串。我的应用程序正在读取xml提要,我正在遍历它的所有子体。我收到的日期时间以以下格式返回(作为字符串)

我正在使用下面的代码尝试将上面提到的DateTime字符串解析为有效的DateTime格式(最好是荷兰语)

当试图执行这段代码时,我面临一个格式化异常。有人有什么想法吗

--更新--

这就是我得到的各种答案。仍然抛出相同的异常

var correctedDateTime = DateTime.ParseExact(latestTweetTime, "ddd MMM HH:mm:ss K yyyy", CultureInfo.InvariantCulture);
string display = correctedDateTime.ToString("dd MMM yyyy HH:mm:ss");

尝试将解析格式更改为:

"ddd MMM HH:mm:ss K yyyy"
如果希望重新格式化
DateTime
,则在对已解析的
DateTime
调用
DateTime.ToString
时指定该格式字符串:

string display = CorrectedDateTime.ToString("dd MMM yyyy HH:mm:ss");

如果您试图阅读以下内容: “2010年12月19日星期日11:45:45+0000”

您需要一个额外的“d”或“dd”,如下所示:

取决于输入的前缀是否为零

您需要考虑每个输入字符串,以下是MSDN中不同组件的摘要:


根据指定的日期(假设时间为24小时),输入格式字符串应为:

ddd MMM d H:mm:ss K yyyy. 
Sun Dec 19 11:45:45 +0000 2010
因此:


有几件事需要注意,额外的一个d用来捕捉日期,我会用一个H来表示'01'和'1'。有关完整格式的详细信息,请参阅。

格式字符串是您正在阅读的格式,而不是您正在编写的格式-请参阅Andrew的答案。@Jackson,谢谢。我从来不知道!谢谢你的明确回答!尽管它总是给我带来同样的例外。我更新了问题。要添加,步骤是:1)将字符串转换为日期时间2)将日期时间转换为可读的内容。我链接到的格式页面对这两个方面都很有用。谢谢你,我做到了+1.获得良好的回答、解释和信息
string display = CorrectedDateTime.ToString("dd MMM yyyy HH:mm:ss");
"ddd MMM d HH:mm:ss K yyyy"
"ddd MMM dd HH:mm:ss K yyyy"
ddd = Three letter Day of week
MMM = Three letter month
dd = Two digit day of month 01-31  (use "d" for 1-31)
HH = Hours using 24-hour clock. 00-24  (use "H" for 0-24)
mm = Minutes. 00-59
ss = Seconds. 00-59
K = Time zone information
yyyy = 4-digit year
ddd MMM d H:mm:ss K yyyy. 
Sun Dec 19 11:45:45 +0000 2010
var correctedDateTime = DateTime.ParseExact(myDateTime, "ddd MMM d H:mm:ss K yyyy", CultureInfo.InvariantCulture);
string display = correctedDateTime.ToString("dd MMM yyyy HH:mm:ss");