【发布时间】:2011-01-12 11:32:45
【问题描述】:
如何在 VB.NET 中从日期对象中减去一个月?
我试过了:
Today.AddMonths(-1)
但是,鉴于今天是 2010 年 1 月 1 日,我得到的结果是 2010 年 12 月 1 日。我想要的答案是 2009 年 12 月 1 日。
在 .NET 框架中是否有方便的方法来执行此操作?
【问题讨论】:
-
好的。这个问题(和答案)真的让我很困惑。您使用的出现上述问题的确切代码是什么?我在调试器中输入了 Today.AddMonths(-1) ,它工作正常,如果您在一月份,则从年份中减去一个。
-
嗨杰森。问题实际上并不是 .AddMonths() 不起作用。问题是 Date 对象是不可变的。我没有将 .AddMonths() 的返回值分配给变量。比如我在做 someDate.AddMonths(-1),这时应该是 someDate = someDate.AddMonths(-1)。
-
不过,在这种情况下, someDate 不会改变。即在您的示例中,它仍将设置为 2010 年 1 月 1 日,而不是 2010 年 12 月 1 日。因此,我的困惑。
标签: asp.net vb.net date subtraction