Définit les paramètres du fuseau horaire courant
#include <Date.au3>
_Date_Time_SetTimeZoneInformation ( $iBias, $sStdName, $tStdDate, $iStdBias, $sDayName, $tDayDate, $iDayBias )
$iBias | Le décalage actuel pour l'heure locale sur cet ordinateur. Le décalage est la différence en minutes entre le temps universel coordonné (UTC) et l'heure locale. Toutes les conversions entre l'heure UTC et l'heure locale utilisent la formule suivante : UTC = heure locale + décalage |
$sStdName | La description pour l'heure d'hiver |
$tStdDate | Une structure $tagSYSTEMTIME qui contient une date et une heure locale lorsque le passage à l'heure d'hiver se produit. |
$iStdBias | La valeur de décalage à utiliser lors du changement d'heure locale qui se produit pendant l'heure d'hiver. Cette valeur est ajoutée à la valeur du décalage pour former le décalage utilisé pendant l'heure d'hiver. Dans la plupart des fuseaux horaires, cette valeur est zéro. |
$sDayName | La description pour l'heure d'été |
$tDayDate | Une structure $tagSYSTEMTIME qui contient une date et une heure locale lorsque le passage heure d'hiver à l'heure d'été se produit. |
$iDayBias | La valeur de décalage à utiliser lors du changement d'heure locale qui se produit pendant l'heure d'été. Cette valeur est ajoutée à la valeur du décalage pour former le décalage utilisé pendant l'heure d'été. Dans la plupart des fuseaux horaires cette valeur est -60. |
Succès: | Retourne True |
Échec: | Retourne False |
Pour sélectionner le jour approprié dans le mois, définissez le membre wYear à zéro, les membres wHour et wMinute à l'heure de transition, le membre wDayOfWeek pour le jour approprié, et le membre wDay indiquant l'occurence du jour de la semaine dans le mois (1 à 5, où 5 indique l'occurrence finale au cours du mois si ce jour de la semaine ne répète pas 5 fois).
En utilisant cette notation, indiquez 02:00 pour le premier dimanche d'avril, comme suit : wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1. Indiquez 02:00 pour le dernier jeudi d'octobre comme suit : wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5.
$tagSYSTEMTIME, _Date_Time_GetTimeZoneInformation
#include <Date.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <WinAPIError.au3> #include <WindowsConstants.au3> ; Sous Vista, l'API Windows « SetTimeZoneInformation » peut être rejetée en raison de la sécurité du système Global $g_idMemo Example() Func Example() Local $aOld, $aNew ; Crée la GUI GUICreate("Temps", 400, 300) $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") GUISetState(@SW_SHOW) ; Affiche les informations de fuseau horaire actuel $aOld = _Date_Time_GetTimeZoneInformation() ShowTimeZoneInformation($aOld, "Actuel") ; Définit les nouvelles informations de fuseau horaire If Not _Date_Time_SetTimeZoneInformation($aOld[1], "A3L CST", $aOld[3], $aOld[4], "A3L CDT", $aOld[6], $aOld[7]) Then MsgBox($MB_SYSTEMMODAL, "Erreur", "Impossible de définir le fuseau horaire système" & @CRLF & @CRLF & _WinAPI_GetLastErrorMessage()) Exit EndIf ; Affiche les nouvelles informations de fuseau horaire $aNew = _Date_Time_GetTimeZoneInformation() ShowTimeZoneInformation($aNew, "Nouveau") ; Réinitialise les informations de fuseau horaire d'origine _Date_Time_SetTimeZoneInformation($aOld[1], $aOld[2], $aOld[3], $aOld[4], $aOld[5], $aOld[6], $aOld[7]) ; Affiche les informations de fuseau horaire actuel $aOld = _Date_Time_GetTimeZoneInformation() ShowTimeZoneInformation($aOld, "Réinitialisé") ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>Example ; Écrit une ligne dans le contrôle mémo Func MemoWrite($sMessage) GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1) EndFunc ;==>MemoWrite ; Affiche les informations de fuseau horaire Func ShowTimeZoneInformation(ByRef $aInfo, $sComment) MemoWrite("***************************** " & $sComment & " *****************************") MemoWrite("Résultat..................... : " & $aInfo[0]) MemoWrite("Décalage actuel.............. : " & $aInfo[1]) MemoWrite("Nom standard................. : " & $aInfo[2]) MemoWrite("Date/heure standard.......... : " & _Date_Time_SystemTimeToDateTimeStr($aInfo[3])) MemoWrite("Décalage standard............ : " & $aInfo[4]) MemoWrite("Nom pour l'heure d'été....... : " & $aInfo[5]) MemoWrite("Date/heure pour l'heure d'été : " & _Date_Time_SystemTimeToDateTimeStr($aInfo[6])) MemoWrite("Décalage pour l'heure d'été.. : " & $aInfo[7]) EndFunc ;==>ShowTimeZoneInformation