2012-02-02 2 views
0

Я пробую петлю, хотя в этом месяце до последних шести месяцев, используя vb.net, и получаю месяц как целое число и только год и передаю это в мой SQL-запрос. но не могу понять его ..vb.net цикл в этом месяце и последние 6 месяцев

до сих пор я получил это:

 Dim dtNow As DateTime = DateTime.Now 
     Dim pastSixMonths As DateTime = dtNow.AddMonths(-6) 

     For i As Integer = dtNow.Month To pastSixMonths.Month 

     Next 

может кому-то помочь, пожалуйста (не LINQ пожалуйста)

ответ

4

Вы хотите знать, как цикл месяц за месяц Квантовый скачок?

Dim result As New List(Of String) 
Dim currentDate = Now() 
Dim last6Month = Now().AddMonths(-6) 
While currentDate >= last6Month 
    result.Add(String.Format("{0}-{1}", currentDate.Month, currentDate.Year)) 
    currentDate = currentDate.AddMonths(-1) 
End While 

result.Clear() 
' or the other way round : 
currentDate = Now().AddMonths(-6) 
While currentDate <= Now() 
    result.Add(String.Format("{0}-{1}", currentDate.Month, currentDate.Year)) 
    currentDate = currentDate.AddMonths(1) 
End While 
+0

эта петля навсегда дает мне m = 2 и y = 2012 – Zaki

+0

@ Sam1: Я пропустил назначение в первую очередь. Теперь он работает так, как ожидалось. –

+0

спасибо за это, можно ли иметь месяц и год другим способом, например. 9-2011, 10-2011, 11-2011, 12-2011, 1-2012, 2-2012 вместо 1-2012, 2-2012, 12-2011, 11-2011, 10-2011, 9-2011 – Zaki

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