Hello,
I am trying to get an array of dates for a given month.
For example, the user enters the month they want e.g. September 2012.
I then need to find the first and last date of that month. (Done that)
Then I need to get the dates for each week in that month.
So it will be formatted like the below.
3 September 2012 - 7 September 2012
10 September 2012 - 14 September 2012
17 September 2012 - 21 September 2012
21 September 2012 - 28 September 2012
I need the first date it gets to start on the first week day for that month so ignoring Saturday and Sunday.
I need it to finish on the very last date of that month but during the week.
Another example would be for August 2012
1 August 2012 - 3 August 2012
6 August 2012 - 10 August 2012
13 August 2012 - 17 August 2012
20 August 2012 - 24 August 2012
27 August 2012 - 31 August 2012
I have currently got a loop which is like the below.
Which does report correctly to an extent however it is also bringing in October dates where as I only want September.
The results I get from the above is
03 September 2012 - 07 September 2012
10 September 2012 - 14 September 2012
17 September 2012 - 21 September 2012
24 September 2012 - 28 September 2012
01 October 2012 - 05 October 2012
08 October 2012 - 12 October 2012
15 October 2012 - 19 October 2012
22 October 2012 - 26 October 2012
29 October 2012 - 31 October 2012
Any help in trying to solve this would be great please.
Thanks,
I am trying to get an array of dates for a given month.
For example, the user enters the month they want e.g. September 2012.
I then need to find the first and last date of that month. (Done that)
Then I need to get the dates for each week in that month.
So it will be formatted like the below.
3 September 2012 - 7 September 2012
10 September 2012 - 14 September 2012
17 September 2012 - 21 September 2012
21 September 2012 - 28 September 2012
I need the first date it gets to start on the first week day for that month so ignoring Saturday and Sunday.
I need it to finish on the very last date of that month but during the week.
Another example would be for August 2012
1 August 2012 - 3 August 2012
6 August 2012 - 10 August 2012
13 August 2012 - 17 August 2012
20 August 2012 - 24 August 2012
27 August 2012 - 31 August 2012
I have currently got a loop which is like the below.
Code:
Do While blStop = False
' TextBox1.Text &= dtestart.ToLongDateString & vbNewLine
If dtestart.Month <> dtestart.AddDays(x).Month Then
' MsgBox("Month has changed")
arrDates(TheCounter) = dtestart & " - " & dtestart.AddDays(x - 1)
TheCounter += 1
ReDim Preserve arrDates(TheCounter)
blStop = True
Else
If dtestart.AddDays(x).DayOfWeek = DayOfWeek.Friday Then
arrDates(TheCounter) = dtestart & " - " & dtestart.AddDays(x)
TheCounter += 1
ReDim Preserve arrDates(TheCounter)
dtestart = dtestart.AddDays(x + 3)
x = 0
ElseIf dtestart.AddDays(x).DayOfWeek = DayOfWeek.Monday Then
' dtestart = dtestart.AddDays(x)
x = 0
ElseIf dtestart.AddDays(x).DayOfWeek = DayOfWeek.Saturday Or dtestart.AddDays(x).DayOfWeek = DayOfWeek.Sunday Then
x += 1
End If
End If
x += 1
LoopThe results I get from the above is
03 September 2012 - 07 September 2012
10 September 2012 - 14 September 2012
17 September 2012 - 21 September 2012
24 September 2012 - 28 September 2012
01 October 2012 - 05 October 2012
08 October 2012 - 12 October 2012
15 October 2012 - 19 October 2012
22 October 2012 - 26 October 2012
29 October 2012 - 31 October 2012
Any help in trying to solve this would be great please.
Thanks,