なぜ私のDateTimeに取り組んでAddMonths()ではないのですか? (コードを参照のこと)
-
19-09-2019 - |
質問
コントローラーます:
DateTime startDate = DateTime.Now;
ViewData["now"] = startDate.ToString();
ViewData["interval"] = interval.ToString();
startDate.AddMonths(interval);
ViewData["later"] = startDate.ToString();
表示:
Now: <%=ViewData["now"] %><br />
Later: <%=ViewData["later"] %><br />
Interval: <%=ViewData["interval"] %>
この利回ります:
Now: 10/2/2009 12:17:14 PM
Later: 10/2/2009 12:17:14 PM
Interval: 6
解決
startDate = startDate.AddMonths(interval);
他のヒント
ドキュメントから:
このメソッドは、このDateTimeオブジェクトの値を変更しません。代わりに、新しいDateTimeオブジェクトは、その値がこの操作の結果で返されます。
あなたが本当に欲しいます:
ViewDataを[ "後"] = startDate.AddMonths(間隔).ToString();
またはそのような何かます。
AddMonths にして新しいのDateTimeを返します。値ます。
startDate = startDate.AddMonths(interval)
あなたは変数にAddMonths
の結果を割り当てる必要があります。 AddMonths
はそれがコールされたオブジェクトの値を変更するのではなく、そのまま元DateTime
値を残して操作した値を持つ新しいDateTime
を返しません。
所属していません StackOverflow