1

如何将“2011 年 1 月 2 日(星期日)”的周数设置为 2010 年的第 52 周?

当我写如下时,它说周数是“1”。

Dim dtTest As Integer = DatePart(DateInterval.WeekOfYear, CDate("2012/01/02"), _
                                 FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFullWeek)

为什么?我将 FirstDayOfWeek 设置为星期一,所以“2011 年 1 月 2 日(星期日)”的周数应该是 52,对吧?

“1/2/2011(Sun)”只是一个例子。

我想要一般方法:
1. 一周的第一天是星期一。
2. 一年中的第一周是与星期一统计的第一个完整周。
3. 一年中的最后一周应包含下一年第一周之前的日期(如 2011 年 1 月 1 日(星期六)、2011 年 1 月 2 日(星期日))

谢谢。

4

1 回答 1

1

在您的示例代码中,您有 2012 年而不是 2011 年。1/2/2011 获得第 52 周, FirstDayOfWeek.Monday并且FirstWeekOfYear.FirstFullWeek

于 2011-12-05T06:37:46.123 回答