Function IsSummerTime(dteDate)
For i = 1 To 7
If WeekDay(DateAdd("d", -i, DateSerial(Year(Date), 4, 1)), 2) = 7 Then
strBegin = Year(Date) & "-3-" & 31 - i & " 2:00"
Exit For
End If
Next
For i = 1 To 7
If WeekDay(DateAdd("d", -i, DateSerial(Year(Date), 11, 1)), 2) = 7 Then
strEnd = Year(Date) & "-11-" & 32 - i & " 3:00"
Exit For
End If
Next
If dteDate > CDate(strBegin) And dteDate < CDate(strEnd) Then
IsSummerTime = True
Else
IsSummerTime = False
End If
End Function
Nu är frågan om den här funktionen verkligen är smart och fungerar eller om den trilskas... jag är nyvaken och det är inte alltid min otestade kod gör som det var tänkt då ;)
Function IsSummerTime(dteDate)
Dim strBegin,strEnd
For i = 1 To 7
If WeekDay(DateAdd("d", -i, DateSerial(Year(Date), 4, 1)), 2) = 7 Then
strBegin = Year(Date) & "-03-" & 32 - i & " 02:00:00"
Exit For
End If
Next
For i = 1 To 7
If WeekDay(DateAdd("d", -i, DateSerial(Year(Date), 11, 1)), 2) = 7 Then
strEnd = Year(Date) & "-10-" & 32 - i & " 03:00:00"
Exit For
End If
Next
If datediff("h",dteDate, strBegin)<0 and datediff("h",dteDate, strEnd)>0 Then
IsSummerTime = True
Else
IsSummerTime = False
End If
End Function