vb では、1 月から数えて週番号を取得できます。ex 1 月 1 日は第 1 週、2 月 1 日は第 5 週など .DatePart(DateInterval.WeekOfYear, Now)
特定の日付から週番号を数える必要があります。例: 基準を 7 月 1 日に設定した場合、7 月 1 日が第 1 週であり、それに基づいて 10 月 3 日の週番号は何になりますか? VBでこれを行うにはどうすればよいですか?
使用できますCalendar.GetWeekOfYear
。
これが例です
Dim dateNow = DateTime.Now
Dim dfi = DateTimeFormatInfo.CurrentInfo
Dim calendar = dfi.Calendar
' using Thursday because I can.
Dim weekOfyear = calendar.GetWeekOfYear(
dateNow, _
dfi.CalendarWeekRule, _
DayOfWeek.Thursday)
このような何かがうまくいくはずです:
Private Function GetWeekNumber(ByVal startMonth As Integer, ByVal startDay As Integer, ByVal endDate As Date) As Integer
Dim span As TimeSpan = endDate - New Date(endDate.Year, startMonth, startDay)
Return (CInt(span.TotalDays) \ 7) + 1
End Function