2012-01-18 4 views
0

Как получить предыдущий месяц и годКак получить предыдущий месяц и год

Код

Dim dtr As String 
text1.Text = "01/2011" 'User Input.... (mm/yyyy) 
dtr = text1.Text 

Если пользователь выбрал 01/2011, то дата должна отображаться предыдущий месяц и год ...

Ожидаемый результат

  • Если пользователь вводит текст1.text = "02/2011", тогда он должен отображать "01/2011"
  • При вводе пользователем Text1.Text = «01/2011», то он должен показать «12/2010»

Может кто-нибудь помочь мне сделать это?

+0

преобразовать строку в поле даты вычесть 1 месяц с даты и повторно-нить это, извините не VB6 парень, если это был .Net я мог бы помочь – Neo

+3

Гопал спросил [очень похожий вопрос] (http://stackoverflow.com/questions/8698963/how-to-get-the-days-for-the-date), и теперь, когда он приостановлен, новый пользователь начинает задавать подобные вопросы. – JimmyPena

+1

@JP - Это не может быть Гопал. Он не закончил вопрос с помощью «Необходимой справки по коду VB6». : P – UnhandledExcepSean

ответ

3

Опираясь на ответ я представил на ваш последний вопрос ...

Dim dt As Date 
Dim DaysInLastMonth As Integer 
Dim LastMonth As String 

dt = CDate(txtPeriod.Text) 
dt = DateAdd("m", -1, dt) 
LastMonth = Format$(dt, "mm/yyyy") 
DaysInLastMonth = DateDiff("d", dt, DateAdd("m", 1, dt)) 

MsgBox LastMonth & vbCrLf & DaysInLastMonth 
+1

проще сказать LastMonth = format $ (dt, "mm/yyyy") – ChrisPadgham

+0

@Chris По какой-то причине это мне никогда не приходило в голову идти этим путем. +1 – UnhandledExcepSean

0

Вы можете разобрать дату в переменной DateTime с помощью DateTime.TryParse. Вы можете использовать метод AddMonths(-1) для переменной.

UPDATE: функция DateAdd в VB6 http://www.vb6.us/tutorials/understanding-vb6s-dateadd-function

+0

Не TryParse вещь vb.net? –

+0

Извините, но это действительно .NET, а не VB6. – tcarvin

+0

О, извините, я не видел его VB6 ... но принцип должен быть тем же – tburi

2

Вы можете преобразовать введенный текст в дату, используя CDate().

Затем вы можете выполнить DateAdd(), задавая единицу измерения месяца и значение -1 (для вычитания).

Наконец, вы можете использовать Format() для преобразования обратно в строку в стиле mm/yyyy, который вы ищете.

Смежные вопросы