Local $HOUR, $iOffSet
$iOffSet = _Get_OffSet_HOUR_UTC()
ConsoleWrite('OffSet UTC = ' & $iOffSet & @LF)
For $i = 0 To 23
$HOUR = $i + $iOffSet
If $HOUR < 0 Then $HOUR = BitAND($HOUR, 23)
ConsoleWrite(StringFormat('%02d (local hour)\t%02d (UTC hour)\n', $i, $HOUR))
Next
Func _Get_OffSet_HOUR_UTC()
Local $t_TZ, $a_Res
$t_TZ = DllStructCreate('long;byte[168]')
$a_Res = DllCall('kernel32.dll', 'dword', 'GetTimeZoneInformation', 'struct*', $t_TZ)
If (@error) Or ($a_Res[0] = -1) Then Return SetError(1, 0, '')
Return Int(DllStructGetData($t_TZ, 1) / 60)
EndFunc ;==>_Get_OffSet_HOUR_UTC