Por que não é AddMonths () que trabalham no meu DateTime? (Código ver)
-
19-09-2019 - |
Pergunta
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"] %>
Este rendimentos:
Now: 10/2/2009 12:17:14 PM
Later: 10/2/2009 12:17:14 PM
Interval: 6
Solução
startDate = startDate.AddMonths(interval);
Outras dicas
A partir da documentação:
Este método não altera o valor deste objeto DateTime. Em vez disso, um novo objeto DateTime é retornado cujo valor é o resultado desta operação.
Você realmente quer:
ViewData [ "depois"] = startDate.AddMonths (intervalo) .ToString ();
ou algo parecido.
AddMonths retorna uma nova DateTime com o valor.
startDate = startDate.AddMonths(interval)
é necessário atribuir o resultado da AddMonths
a uma variável. AddMonths
não altera o valor do objeto que foi chamado, mas retorna um novo DateTime
com o valor que resulta da operação deixando o valor DateTime
original inalterada.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow