現在の週の日付 (月曜日から日曜日) を取得しようとしています。
これは私の現在のコードです:
Dim kw As Integer = DatePart(DateInterval.WeekOfYear, Now, , FirstWeekOfYear.FirstFourDays)
If DatePart(DateInterval.Weekday, Now, Microsoft.VisualBasic.FirstDayOfWeek.Sunday) = 6 Then
kw = kw + 1
End If
Dim CurrDateFirstDay As Date = DateAdd(DateInterval.Day, 1, ReturnDateForWeekNumber(kw))
For i = 1 To 7
strCurrDay = FormatDateTime(CurrDateFirstDay, DateFormat.LongDate)
........
私の問題は、私のコードが 16.01.2013 で始まり、最後の日付が来週の木曜日 22.01.2013 であることです。何故ですか?2013 年 1 月 14 日月曜日ではなく、2013 年 1 月 16 日水曜日に開始するのはなぜですか? また、次の週の日付が返されるのはなぜですか? 何が間違っているのですか?
編集:
ReturnDateForWeekNumber:
Public Shared Function ReturnDateForWeekNumber(ByVal iWeek As Integer) As DateTime
Return DateAdd(DateInterval.WeekOfYear, iWeek - 1, FirstDayOfYear)
End Function