Как вычесть месяц из объекта Date?
Как вычесть месяц из объекта даты в VB.NET?
Я пробовал:
Today.AddMonths(-1)
Однако, учитывая, что сегодня 01 января 2010 года, я получаю результат 01-дек-2010. Ответ, который я хочу, - 01-Dec-2009.
Есть ли удобный способ сделать это в рамках .NET?
Ответы
Ответ 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)