10

在 vb 中,我们可以得到从一月开始计算的周数。ex 1 月 1 日是第 1 周,2 月 1 日是第 5 周,依此类推 .DatePart(DateInterval.WeekOfYear, Now)

我需要从给定日期计算周数。例如:如果将基数设置为 7 月 1 日,那么 7 月 1 日是第 1 周,基于此,10 月 3 日的周数是多少?我怎样才能在VB中做到这一点?

4

2 回答 2

13

您可以使用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) 
于 2012-10-03T16:08:17.007 回答
2

这样的事情应该可以解决问题:

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
于 2012-10-03T16:07:06.213 回答