VB Script
Edit|Remove
vbs
' Calculate weeknumber for a date
' EU/ISO-8601 and US
' By Jørgen Bigom
' Return weeknumber for EU/ISO-8601
Function WeekNumberEU (y, m, d)
Dim tempweek
If m = 12 And d > 24 Then
tempweek = WeekNumberEU (y+1, 1, 1)
If d > (32-Weekday(Dateserial(y+1,1,1),vbMonday)) Then WeekNumberEU = tempweek:Exit Function
End If
WeekNumberEU = DatePart("ww", Dateserial(y,m,d), vbMonday, vbFirstFourDays)
End Function
' Return weeknumber for US
Function WeekNumberUS (y, m, d)
If m = 12 And d > 24 Then
If d > (32-Weekday(Dateserial(y+1,1,1),vbSunday)) Then WeekNumberUS = 1:Exit Function
End If
WeekNumberUS = DatePart("ww", Dateserial(y,m,d), vbSunday, vbFirstJan1)
End Function
' Calculate weeknumber for a date
' EU/ISO-8601 and US
' By Jørgen Bigom
' Return weeknumber for EU/ISO-8601
Function WeekNumberEU (y, m, d)
Dim tempweek
If m = 12 And d > 24 Then
tempweek = WeekNumberEU (y+1, 1, 1)
If d > (32-Weekday(Dateserial(y+1,1,1),vbMonday)) Then WeekNumberEU = tempweek:Exit Function
End If
WeekNumberEU = DatePart("ww", Dateserial(y,m,d), vbMonday, vbFirstFourDays)
End Function
' Return weeknumber for US
Function WeekNumberUS (y, m, d)
If m = 12 And d > 24 Then
If d > (32-Weekday(Dateserial(y+1,1,1),vbSunday)) Then WeekNumberUS = 1:Exit Function
End If
WeekNumberUS = DatePart("ww", Dateserial(y,m,d), vbSunday, vbFirstJan1)
End Function