我正在使用以下代码将对象添加到ASP.NET MVC 3应用程序中的列表中,但该对象的一个属性给我带来了困难。
ls.Add(new UserRoleModel { UserRoleId = 1, UserName = "Paul", InsertDate = new DateTime(05, 24, 2012),InsertProgram="sqlplus",InsertUser="sp22",Role="Implementation Co-corindator"});
这构建但是当我进入相关页面时,我得到一个具有以下类型的异常:
Exception Details: System.ArgumentOutOfRangeException: Year, Month, and Day parameters describe an un-representable DateTime.
我已经尝试在当月删除0,但我得到了同样的例外。
答案 0 :(得分:22)
DateTime
constructor you are calling接受订单年,月,日的参数。
您按月,日,年的顺序提供它们 - 最终会尝试分配无意义的值。文档非常清楚允许的值是什么以及如果您将2012年的“日期”值传递出去会发生什么。
答案 1 :(得分:6)
我刚刚遇到这个问题,我的问题是我在2月创建了一个日期。我试着做以下......
new Date(2013, 2, 30)
由于没有2月30日,因此无法创建日期。当我改为
new Date(2013, 2, 28)
它运作良好。
答案 2 :(得分:2)
如果InsertDate
意味着创建的日期/时间,您可以使用以下
DateTime InsertDate = DateTime.Now;
答案 3 :(得分:1)
您正在使用无效的日期时间,例如您可能会超过31个月的13,14天
或类似的东西导致问题。
答案 4 :(得分:0)
我遇到了同样的问题,因为我试图创建一个日期设置为4月31日的DateTime对象,即使4月只有30天。 任何人都有同样的问题,请确保你没有犯这个错误。
答案 5 :(得分:0)
我解决的同样的异常:
DateTimePicker1.Value = DateSerial(Year(Now), Month(Now) + 1, 1)