DateTime.Parse今天失败(2012年3月1日)! Ø

今天我遇到了一个非常奇怪的问题。

尝试执行此C#代码:

class Program
{
    static void Main(string[] args)
    {

        string yesterdayString = (DateTime.Now - TimeSpan.FromDays(1)).ToString("R");
        string nowString = DateTime.Now.ToString("R");

        DateTime.Parse(yesterdayString);
        DateTime.Parse(nowString);

        DateTime.Parse("Wed, 29 Feb 2012 18:05:49 GMT"); // this is what i have in yesterdayString
        DateTime.Parse("Thu, 01 Mar 2012 18:05:40 GMT"); // this is what i have in nowString
    }
}

当然,你今天会遇到问题。 我已经添加了最后两条命令,让您知道问题所在。 明天和整个3月份,DateTime.Parse将引发一个FormatException(String未被识别为有效的DateTime。)

为什么?


我会说你发现了一个错误。 这应该工作:

// 
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);

这被证实是一个错误。

如果您需要关于此主题的更多信息,请查看http://connect.microsoft.com/VisualStudio/feedback/details/822536/datetime-parse-result-in-exception-when-the-format-is-rfc1123-图案和语言环境是-一个拉丁酮

链接地址: http://www.djcxy.com/p/58001.html

上一篇: DateTime.Parse fails for today (01 mar 2012)! o

下一篇: How to add a reference to mshtml version 9 in .NET