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

时间:2012-03-01 17:30:42

标签: c# parsing datetime

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

尝试执行此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
    }
}

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

为什么?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)