¿Por qué no es AddMonths () que trabajan en mi DateTime? (Véase el código)
-
19-09-2019 - |
Pregunta
controlador:
DateTime startDate = DateTime.Now;
ViewData["now"] = startDate.ToString();
ViewData["interval"] = interval.ToString();
startDate.AddMonths(interval);
ViewData["later"] = startDate.ToString();
Ver:
Now: <%=ViewData["now"] %><br />
Later: <%=ViewData["later"] %><br />
Interval: <%=ViewData["interval"] %>
Esto produce:
Now: 10/2/2009 12:17:14 PM
Later: 10/2/2009 12:17:14 PM
Interval: 6
Solución
startDate = startDate.AddMonths(interval);
Otros consejos
A partir de la documentación:
Este método no cambia el valor de este objeto DateTime. En su lugar, un nuevo objeto DateTime se devuelve cuyo valor es el resultado de esta operación.
¿De verdad quieres:
ViewData [ "tarde"] = startDate.AddMonths (intervalo) .ToString ();
o algo por el estilo.
AddMonths devuelve una nueva DateTime con el valor.
startDate = startDate.AddMonths(interval)
tiene que asignar el resultado de la AddMonths
a una variable. AddMonths
no cambia el valor del objeto que se llamaba, pero en vez devuelve una nueva DateTime
con el valor que resulta de la operación dejando el valor DateTime
originales sin cambios.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow