Domanda

Controller:

        DateTime startDate = DateTime.Now;

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

        startDate.AddMonths(interval);

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

Visualizza:

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

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

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

Questo produce:

Now: 10/2/2009 12:17:14 PM
Later: 10/2/2009 12:17:14 PM
Interval: 6
È stato utile?

Soluzione

startDate  = startDate.AddMonths(interval);

Altri suggerimenti

Dalla documentazione:

Questo metodo non cambia il valore di questo oggetto DateTime. Invece, viene restituito un nuovo oggetto DateTime il cui valore è il risultato di questa operazione.

Si vuole veramente:

Viewdata [ "dopo"] = startDate.AddMonths (intervallo) .ToString ();

o qualcosa del genere.

AddMonths restituisce un nuovo DateTime con la valore.

startDate = startDate.AddMonths(interval)

è necessario assegnare il risultato della AddMonths a una variabile. AddMonths non cambia il valore dell'oggetto è stato chiamato, ma piuttosto restituisce una nuova DateTime con il valore risultante dall'operazione lasciando il valore DateTime originale invariata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top