Подтвердить что ты не робот

Как вычесть месяц из объекта Date?

Как вычесть месяц из объекта даты в VB.NET?

Я пробовал:

Today.AddMonths(-1)

Однако, учитывая, что сегодня 01 января 2010 года, я получаю результат 01-дек-2010. Ответ, который я хочу, - 01-Dec-2009.

Есть ли удобный способ сделать это в рамках .NET?

4b9b3361

Ответ 1

Фактически вам нужно переносить Today в переменную и позволить этому назначению работать там. Следующий код даст результат, который вы ожидаете (я просто проверил его, потому что ваш пост заставлял меня думать дважды).

Dim dt As DateTime = Date.Today
dt = dt.AddMonths(-2)

Dim x As String = dt.ToString()

Ответ 2

Это прекрасно работает, вам нужно помнить, что DateTime можно обрабатывать.

Dim d As DateTime
d = New DateTime(2010, 1, 1)
d = d.AddMonths(-1)

Посмотрите Структура DateTime

Расчет по экземпляру DateTime, например Add или Subtract, не изменяет значение пример. Вместо этого расчет возвращает новый экземпляр DateTime значение которого является результатом расчет.

Ответ 3

Dim d As DateTime = #1/1/2010#
d = d.AddMonths(-1)

Ответ 4

Я использовал следующее и работает.

Dim dtToday As DateTime = Date.Today
dtToday = dtToday.AddMonths(-2)