| General |
| 6.181 Verificare se la data corrente del computer cade o meno nel periodo dell'ora legale |
| Alessandro Baraldi |
|
Con la funzione di cui si riporta qui di seguito il codice VBA è possibile stabilire se la data corrente del computer cade nel periodo dell'ora legale o nel periodo dell'ora solare. Viene effettuata la differenza tra l'ora locala e l'ora di GMT e se il risultato è uguale a 2 significa che siamo nele periodo in cui vige l'ora legale. La funzione restituisce, a seconda del caso, la stringa "LEGALE" o la stringa "SOLARE". Private Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Private Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
wAM As Integer
End Type
Public Function DisplayClock()
Dim MyLTime As SYSTEMTIME
Dim MySTime As SYSTEMTIME
Dim dif As Integer
GetLocalTime MyLTime
GetSystemTime MySTime
If MyLTime.wHour > MySTime.wHour Then
dif = MyLTime.wHour - MySTime.wHour
Else
dif = (24 + MyLTime.wHour) - MySTime.wHour
End If
If dif = 2 Then
DisplayClock = "LEGALE"
Else
DisplayClock = "SOLARE"
End If
End Function
Per verificare se una data qualsiasi appartiene o meno al periodo dell'ora legale, leggere la FAQ di Luciano (DOC) pubblicata nella Sezione General di questo sito intitolata 6.149 Verificare se una data cade o meno nel periodo dell'ora legale.
|