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