我怎样才能得到 ISO week number VBScript 或 VBA 中的某个日期?
最佳答案
首先,请注意:
- 报告周 年 以及周数很重要,因为日期的年份可能不同。
- 几个 Windows 组件包含 a bug几年的最后一个星期一。
根据我的经验,最简单、最清晰和最可靠的计算方法是:
Sub WeekNum(someDate, isoWeekYear, isoWeekNumber, isoWeekDay)
Dim nearestThursday
isoWeekDay = WeekDay(someDate, vbMonday)
nearestThursday = DateAdd("d", 4 - Int(isoWeekDay), someDate)
isoWeekYear = Year(nearestThursday)
isoWeekNumber = Int((nearestThursday - DateSerial(isoWeekYear, 1, 1)) / 7) + 1
End Sub
这还会返回 ISO 星期几,从 1 开始计算星期一。
关于vba - VBScript 或 VBA 中的 ISO 周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35010785/