2012-06-28 25 views
5

Estoy agregando un objeto a una lista dentro de una aplicación ASP.NET MVC 3 usando el siguiente código pero una de las propiedades del objeto me está dando dificultades .Los parámetros de año, mes y día describen una excepción DateTime no representable

ls.Add(new UserRoleModel { UserRoleId = 1, UserName = "Paul", InsertDate = new DateTime(05, 24, 2012),InsertProgram="sqlplus",InsertUser="sp22",Role="Implementation Co-corindator"}); 

Esto construye pero cuando voy a la página correspondiente obtengo una excepción con el siguiente tipo:

Exception Details: System.ArgumentOutOfRangeException: Year, Month, and Day parameters describe an un-representable DateTime. 

He intentado quitar el 0 en el mes, pero tengo la misma excepción.

+0

Quizás esto tiene algo que ver con la "Cultura" que está utilizando? ¿Está utilizando una cultura que tiene un orden diferente para cada uno de los elementos (año, mes, día) en lugar de (mes, día, año)? –

+0

http://msdn.microsoft.com/en-us/library/5hh873ya.aspx Este enlace muestra algunos ejemplos de cómo cambiaría esto. –

Respuesta

19

El DateTimeconstructor you are calling acepta parámetros en el pedido año, mes, día.

Los está proporcionando en el orden mes, día, año, lo que termina tratando de asignar valores sin sentido. La documentación es bastante clara sobre cuáles son los valores permitidos y qué sucede si pasa 2012 para el valor de "día".

2

si el InsertDate destinado a ser la fecha/hora de la creación sólo puede utilizar el siguiente

DateTime InsertDate = DateTime.Now; 
5

Me acabo de encontrar con esto y mi problema era que estaba creando una fecha en febrero. Intenté hacer lo siguiente ...

new Date(2013, 2, 30) 

Como no hay un 30 de febrero, la fecha no se pudo crear. Cuando cambié a

new Date(2013, 2, 28) 

funcionó bien.

+0

nueva Fecha (2013, 2, 28) fallará si el año actual en cuestión es un año bisiesto (debido a 29 días en febrero, por ejemplo, hoy es 02-29-2016) –

+0

@kishoreperla 28 siempre funcionará, año bisiesto o no. El primer número, 30, que tuve no. Creo que cambié de enero a febrero. – JabberwockyDecompiler

2

Está utilizando una fecha y hora no válida, al igual que para el mes que puede estar pasando 13,14 días más de 31

o algo por el estilo que está causando el problema.

Cuestiones relacionadas