为什么不AddMonths()在我的DateTime工作? (见代码)
-
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对象,其值是该操作的结果。
您真的想:
计算机[ “后”] = startDate.AddMonths(间隔)的ToString();
或类似的东西。
AddMonths 返回一个新的日期时间与值。
startDate = startDate.AddMonths(interval)
您需要分配AddMonths
给一个变量的结果。 AddMonths
不改变它被称为上的对象的值,而是返回与从该操作导致离开原来DateTime
值不变值的新DateTime
。
不隶属于 StackOverflow