为什么AddMonths()不能在我的DateTime上运行?(见代码)

Met*_*uru 2 .net c# asp.net-mvc datetime asp.net-mvc-3

控制器:

        DateTime startDate = DateTime.Now;

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

        startDate.AddMonths(interval);

        ViewData["later"] = startDate.ToString();
Run Code Online (Sandbox Code Playgroud)

视图:

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

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

Interval: <%=ViewData["interval"] %>
Run Code Online (Sandbox Code Playgroud)

这会产生:

Now: 10/2/2009 12:17:14 PM
Later: 10/2/2009 12:17:14 PM
Interval: 6
Run Code Online (Sandbox Code Playgroud)

dov*_*ove 17

startDate  = startDate.AddMonths(interval);
Run Code Online (Sandbox Code Playgroud)


M1E*_*1EK 5

从文档:

此方法不会更改此DateTime对象的值.而是返回一个新的DateTime对象,其值是此操作的结果.

你真的想要:

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

或类似的东西.