C# DateTime.Parse今天(2012年3月1日)解析失败!o_0

C# DateTime.Parse今天(2012年3月1日)解析失败!o_0,c#,parsing,datetime,C#,Parsing,Datetime,今天我遇到了一个很奇怪的问题 尝试执行此C#代码: 当然,今天你会遇到问题。我添加了最后两个命令,让您知道问题所在。 明天和整个三月份的DateTime.Parse将抛出FormatException(字符串未被识别为有效的DateTime) 为什么?我认为你发现了一个bug。这应该起作用: // var spanish = CultureInfo.GetCultureInfo("es"); var date = DateTime.Parse(DateTime.Now.ToString("R"

今天我遇到了一个很奇怪的问题

尝试执行此C#代码:

当然,今天你会遇到问题。我添加了最后两个命令,让您知道问题所在。 明天和整个三月份的DateTime.Parse将抛出FormatException(字符串未被识别为有效的DateTime)


为什么?

我认为你发现了一个bug。这应该起作用:

// 
var spanish = CultureInfo.GetCultureInfo("es");
var date = DateTime.Parse(DateTime.Now.ToString("R", spanish), spanish);
还是意大利语,它仍然抛出

var italian = CultureInfo.GetCultureInfo("it");
var date = DateTime.Parse(DateTime.Now.ToString("R", italian), italian);

这被证实是一个错误


如果您需要有关此主题的更多信息,请查看

此代码在我通过Linqpad运行时有效。在.NET 4.0,FWIW上对我很好。使用不同的CultureInfo对其进行了测试,但无法复制。您是否有可能在Azure上运行此代码?:)()它在每一种西班牙文化中都失败了(通过
System.Globalization.CultureInfo.GetCultures(CultureTypes.AllCultures)
),对我来说也是如此。那么您所处的文化是什么呢?datetime解析器似乎不喜欢意大利和西班牙的三月。。你的解决方案对我不起作用。。我会给我一个自我解决方案。。无论如何,谢谢你。附言我不能给我一个答案。。所以我给你一个提示:DateTime.Parse(nowString,CultureInfo.GetCultureInfo(“en”))@user846168:这不是一个解决方案,而是一个太大的评论答案。这就是为什么我把它标记为CW。就是这样,我今天也有同样的问题。可能是因为在西班牙语中,March=Marzo,所以使用RFC1123标准.net在“es”语言环境下无法解析“Mar”,并且他们不知道如何解决此错误,因此他们将其关闭为“不会修复”(facepalm)
var italian = CultureInfo.GetCultureInfo("it");
var date = DateTime.Parse(DateTime.Now.ToString("R", italian), italian);