有时候,我们需要根据某年的第几周这个条件,来获得该周的起始日期,这时,可以利用下面的自定义函数:
Function GetFirstDayOfWeek(YearNum As Long, WeekNum As Long, Optional FirstDayOfWeek As VbDayOfWeek = vbSunday) As Variant
'YearNum 年份
'WeekNum 第几周
'VbDayOfWeek = vbSunday 指定周日为第1天
GetFirstDayOfWeek = DateAdd("d", -Weekday(DateSerial(YearNum, 1, 1), FirstDayOfWeek) + 1, DateSerial(YearNum, 1, 1)) + 7 * (WeekNum - 1)
End Function
'调用示例:2020年的第3周,该周起始日期是2020-1-12
?GetFirstDayOfWeek(2020,3)
2020-01-12