News
Articoli
Download
Tips & Tricks
Link
Guestbook
 
 
 
 
Copyright© 2004
Ivanov Dmitrij
Evghegnevich
e-mail

Risoluzione consigliata
1024 x 768
 
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 locale
Private 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 altrimenti
Private Function IsDaylightSavingTime() As Boolean

   Dim tzi As TIME_ZONE_INFORMATION

   IsDaylightSavingTime = GetTimeZoneInformation(tzi) = TIME_ZONE_ID_DAYLIGHT

End Function
 
 
Esempio di utilizzo
 
 
' test ora legale
If IsDaylightSavingTime() Then
	MsgBox "Ora legale!"
End If