获取VB中给定日期的年份周数

时间:2012-10-03 15:58:06

标签: vb.net datetime

在vb中,我们可以从1月开始计算周数。 1月1日是1周,2月1日是第5周等.DatePart(DateInterval.WeekOfYear,Now)

我需要计算给定日期的周数。例如:如果将基数设置为7月1日,那么7月1日是第1周,并根据10月3日那周的数字是多少?我怎么能在VB中这样做?

2 个答案:

答案 0 :(得分:12)

您可以使用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) 

答案 1 :(得分: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