Ti piace il sito?
Votalo con un clic sul
banner qui sotto ^_^
Rilevare se si è in regime di ora legale (DST)
Sfruttando la funzione dell'API GetTimeZoneInformation, è
possibile riconoscere se l'orario corrente appartiene al regime di ora legale o meno.
Option Explicit' ritorna informazioni sulla zona localePrivate Declare Function GetTimeZoneInformation Lib "kernel32" _
(lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long
' specifica se l'ora corrente è DST (Daylight Saving Time)Private Const TIME_ZONE_ID_DAYLIGHT As Long = 2
Private Type TIME_ZONE_INFORMATION
Bias As Long
StandardName(0 To 63) As Byte
StandardDate As SYSTEMTIME
StandardBias As Long
DaylightName(0 To 63) As Byte
DaylightDate As SYSTEMTIME
DaylightBias As Long
End Type' ritorna true se si è in regime di ora legale, false altrimentiPrivate Function IsDaylightSavingTime() As Boolean
Dim tzi As TIME_ZONE_INFORMATION
IsDaylightSavingTime = GetTimeZoneInformation(tzi) = TIME_ZONE_ID_DAYLIGHTEnd Function
Esempio di utilizzo
' test ora legale
If IsDaylightSavingTime() Then
MsgBox "Ora legale!"
End If