多看几次这个问题,但似乎无法在我的VBA代码中修复它.
我需要计算给定年份的总周数,符合ISO 8601.
当我使用datediff函数时:iNumWeeks = DateDiff("ww", "1/1/2015", "31/12/2015", vbMonday, vbFirstJan1)
它返回52而2015年有53周(ISO 8601)
我怎么能这样做?
再次引用自https://en.wikipedia.org/wiki/ISO_8601#Week_dates
12月28日总是在同一年的最后一周.
所以它真的很简单
Public Function WeeksInYear(lYear As Long) As Long WeeksInYear = DatePart("ww", DateSerial(lYear, 12, 28), vbMonday, vbFirstFourDays) End Function