28,376
社区成员




Function GetNthWeek(sDate)
Dim dt, daysElapsed, wd, n
dt = CDate(sDate)
daysElapsed = DateDiff("d", Year(dt) & "-1-1", dt)
wd = Weekday(CDate(Year(dt) & "-1-1"), 2)
If wd = 1 Then
n = daysElapsed \ 7
If (daysElapsed Mod 7) <> 0 Then n = n + 1
Else
If daysElapsed < (7 - wd + 1) Then
n = 1
Else
daysElapsed = daysElapsed - (7 - wd + 1) + 1
n = (daysElapsed \ 7) + 1
If (daysElapsed Mod 7) <> 0 Then n = n + 1
End If
End If
GetNthWeek = n
End Function
Response.Write GetNthWeek("2015-1-5")
Response.Write GetNextMondy("2015-1-6")
Function GetNthWeek(sDate)
Dim dt, daysElapsed, wd, n
dt = CDate(sDate)
daysElapsed = DateDiff("d", Year(dt) & "-1-1", dt)
wd = Weekday(CDate(Year(dt) & "-1-1"), 2)
If wd = 1 Then
n = daysElapsed \ 7
If (daysElapsed Mod 7) <> 0 Then n = n + 1
Else
If daysElapsed < wd Then
n = 1
Else
daysElapsed = daysElapsed - (wd - 1)
n = (daysElapsed \ 7) + 1
If (daysElapsed Mod 7) <> 0 Then n = n + 1
End If
End If
GetNthWeek = n
End Function
Function GetNextMondy(sDate)
Dim dt, wd
dt = CDate(sDate)
wd = Weekday(dt, 2)
GetNextMondy = DateAdd("d", dt, (7-wd+1))
End Function