Frage

Controller:

        DateTime startDate = DateTime.Now;

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

        startDate.AddMonths(interval);

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

Ausblick:

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

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

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

Dies ergibt:

Now: 10/2/2009 12:17:14 PM
Later: 10/2/2009 12:17:14 PM
Interval: 6
War es hilfreich?

Lösung

startDate  = startDate.AddMonths(interval);

Andere Tipps

Aus der Dokumentation:

Diese Methode ändert nicht den Wert dieses Datetime-Objekt. Stattdessen wird ein neues Datetime-Objekt zurückgegeben, dessen Wert das Ergebnis dieser Operation.

Sie wirklich wollen:

Viewdata [ "später"] = startDate.AddMonths (Intervall) .ToString ();

oder so ähnlich.

AddMonths gibt ein neues Datetime mit der Wert.

startDate = startDate.AddMonths(interval)

Sie müssen das Ergebnis der AddMonths einer Variablen zugewiesen werden soll. AddMonths nicht den Wert des Objekts ändert sie aufgerufen wurden, sondern gibt einen neuen DateTime mit dem Wert, der aus dem Betrieb führt unverändert den ursprünglichen DateTime Wert zu verlassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top