Question

Contrôleur:

        DateTime startDate = DateTime.Now;

        ViewData["now"] = startDate.ToString();
        ViewData["interval"] = interval.ToString();

        startDate.AddMonths(interval);

        ViewData["later"] = startDate.ToString();

Voir:

Now: <%=ViewData["now"] %><br />

Later: <%=ViewData["later"] %><br />

Interval: <%=ViewData["interval"] %>

On obtient ainsi:

Now: 10/2/2009 12:17:14 PM
Later: 10/2/2009 12:17:14 PM
Interval: 6
Était-ce utile?

La solution

startDate  = startDate.AddMonths(interval);

Autres conseils

De la documentation:

Cette méthode ne change pas la valeur de cet objet DateTime. Au lieu de cela, un nouvel objet DateTime est retourné dont la valeur est le résultat de cette opération.

Vous voulez vraiment:

Viewdata [ "plus tard"] = startDate.AddMonths (intervalle) .ToString ();

ou quelque chose comme ça.

AddMonths retourne un nouveau DateTime avec le valeur.

startDate = startDate.AddMonths(interval)

vous devez affecter le résultat de la AddMonths à une variable. AddMonths ne change pas la valeur de l'objet, il a été appelé, mais retourne une nouvelle DateTime avec la valeur qui résulte de l'opération en laissant la valeur DateTime initiale inchangée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top