如何从 VB.NET 中的日期对象中减去一个月?
我试过了:
Today.AddMonths(-1)
但是,鉴于今天是 2010 年 1 月 1 日,我得到的结果是 2010 年 12 月 1 日。我想要的答案是 2009 年 12 月 1 日。
在 .NET 框架中是否有一种方便的方法来执行此操作?
如何从 VB.NET 中的日期对象中减去一个月?
我试过了:
Today.AddMonths(-1)
但是,鉴于今天是 2010 年 1 月 1 日,我得到的结果是 2010 年 12 月 1 日。我想要的答案是 2009 年 12 月 1 日。
在 .NET 框架中是否有一种方便的方法来执行此操作?
您实际上必须将 Today 传输到一个变量中,并让该分配在那里工作。以下代码将产生您期望的结果(我只是验证了它,因为您的帖子让我三思而后行)。
Dim dt As DateTime = Date.Today
dt = dt.AddMonths(-2)
Dim x As String = dt.ToString()
这很好用,您需要记住 DateTime 是不可变的。
Dim d As DateTime
d = New DateTime(2010, 1, 1)
d = d.AddMonths(-1)
对 DateTime 实例的计算(例如 Add 或 Subtract)不会修改实例的值。相反,该计算返回一个新的 DateTime 实例,其值是计算的结果。
Dim d As DateTime = #1/1/2010#
d = d.AddMonths(-1)
我已经使用了以下内容并且它有效。
Dim dtToday As DateTime = Date.Today
dtToday = dtToday.AddMonths(-2)