Dim ms As String = "10,11,12,1,2" Dim n As Integer = 3 Dim s As String = "201610" Dim d As Date = new Date(s.SubString(0,4),s.SubString(4),1) Dim ary() As String = ms.split(",") Dim c As Integer = iif(ary.length Mod n = 0, ary.length \ n - 1, ary.length \ n) For i As Integer = 0 To c If ary.length >= (i+1)*n d = d.AddMonths(n) Else d = d.AddMonths(ary.length Mod n) End If msgbox(d)
Dim ms As String = "10,11,12,1,2,3" Dim n As Integer = 4 Dim s As String = "201611" Dim d As Date = new Date(s.SubString(0,4),s.SubString(4),1) Dim ary() As String = ms.split(",")
Dim idx As Integer = array.Indexof(ary, cstr(d.month)) Dim count As Integer = ary.length - idx Dim c As Integer = iif(count Mod n = 0, count \ n - 1, count \ n) For i As Integer = 0 To c If count >= (i+1)*n d = d.AddMonths(n) Else d = d.AddMonths(count Mod n) End If msgbox(d) Next