如何从Date对象中减去一个月?

时间:2010-02-03 04:28:45

标签: asp.net vb.net date subtraction

如何从VB.NET中的日期对象中减去一个月?

我试过了:

Today.AddMonths(-1)

然而,鉴于今天是2010年1月1日,我得到的结果是2010年12月1日。我想要的答案是2009年12月1日。

在.NET框架中有没有一种方便的方法呢?

4 个答案:

答案 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 Structure

  

对实例的计算   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)