Hallo mensen,
Ik zit met een probleem. Ik moet een datum van een weeknummer hebben. Dus als ik zou zeggen weeknummer 3 van 2010 dan wil ik dus de week van 18 januari hebben. Nu heb ik al op Google en GoT gezocht maar heb nog geen code gevonden die met jaren van 53 weken werken (zoals vorig jaar). Waardoor als ik nu week 1 opgeef ik dus week 53, bij 2 week 1, bij 3 week 2, enz. krijg.
Dit is de code die ik nu heb:
Kan iemand me helpen?
Ik zit met een probleem. Ik moet een datum van een weeknummer hebben. Dus als ik zou zeggen weeknummer 3 van 2010 dan wil ik dus de week van 18 januari hebben. Nu heb ik al op Google en GoT gezocht maar heb nog geen code gevonden die met jaren van 53 weken werken (zoals vorig jaar). Waardoor als ik nu week 1 opgeef ik dus week 53, bij 2 week 1, bij 3 week 2, enz. krijg.
Dit is de code die ik nu heb:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| Public Function GetLastOccurenceOfDay(ByVal value As Date, ByVal dayOfWeek As DayOfWeek) As Date Dim daysToAdd As Integer = dayOfWeek - value.DayOfWeek If daysToAdd < 1 Then daysToAdd -= 7 End If Return value.AddDays(daysToAdd) End Function Public Function GetFirstDateOfWeek(ByVal year As Integer, ByVal week As Integer) Return GetFirstDateOfWeek(year, week, Application.CurrentCulture) End Function Public Function GetFirstDateOfWeek(ByVal year As Integer, ByVal week As Integer, ByVal culture As CultureInfo) As Date Return GetLastOccurenceOfDay(New DateTime(year, 1, 1, culture.Calendar).AddDays(7 * (week)), culture.DateTimeFormat.FirstDayOfWeek) End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If nudWeekNumber.Value <> GetWeekNumber(MonthCalendar1.SelectionStart) Then Dim fDate As Date = GetFirstDateOfWeek(MonthCalendar1.SelectionStart.Year, nudWeekNumber.Value) MonthCalendar1.SelectionStart = fDate End If |
Kan iemand me helpen?