System.ArgumentOutOfRangeException:'Year,Month和Day参数描述了一个不可表示的DateTime。'

时间:2018-02-05 17:53:19

标签: c#

请参阅以下代码:

[TestFixture]
    public class UnitTest1
    {
        [Test]
        public void TestMethod1()
        {
            DateTime dob = new DateTime(2001, 02, 29);
            DateTime todaysDate = new DateTime(2001, 02, 29);
        }
    }

当我运行此代码时,方法的第二行会抛出异常:System.ArgumentOutOfRangeException:'Year,Month和Day参数描述了一个不可表示的DateTime。'。但是,如果我注释掉该方法的第一行,它就会成功运行。有什么问题?

2 个答案:

答案 0 :(得分:6)

因为2001年2月只有28天而不是29 :-)

答案 1 :(得分:0)

万一您对日期有类似的困惑而无意间发现了这篇文章-我发现,如果您有两个日期分配,一个又一个,并且第一个有问题,则可能在第二个上引发异常(没问题)。

请参见下面的屏幕截图-第一行很糟糕,但是第二行抛出了异常。

enter image description here