12

我正在使用以下代码将对象添加到 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 但我得到了同样的例外。

4

6 回答 6

33

DateTime 您正在调用的构造函数接受按年、月、日顺序排列的参数。

您按月、日、年的顺序提供它们——最终试图分配无意义的值。该文档非常清楚允许的值是什么以及如果您将 2012 年作为“日”值会发生什么。

于 2012-06-28T14:13:45.647 回答
8

我刚刚遇到了这个问题,我的问题是我在二月份创建了一个日期。我尝试执行以下操作...

new Date(2013, 2, 30)

由于没有 2 月 30 日,因此无法创建日期。当我改为

new Date(2013, 2, 28)

它工作得很好。

于 2013-02-20T16:26:31.707 回答
2

如果InsertDate意味着创建日期/时间,您可以使用以下内容

DateTime InsertDate  = DateTime.Now;
于 2012-06-28T14:19:50.490 回答
1

您正在使用无效的日期时间,例如一个月,您可能会比 31 天多 13,14 天

或类似导致问题的东西。

于 2013-12-24T13:27:51.147 回答
0

我遇到了同样的问题,因为我试图创建一个日期设置为 4 月 31 日的 DateTime 对象,即使 4 月只有 30 天。任何有同样问题的人,确保你没有犯这个错误。

于 2018-05-31T06:36:20.100 回答
0

我解决的相同异常为:

DateTimePicker1.Value = DateSerial(Year(Now), Month(Now) + 1, 1)
于 2021-01-02T06:16:18.177 回答