UDF > Date >


_Date_Time_SetTimeZoneInformation

D�finit les param�tres du fuseau horaire courant

#include <Date.au3>
_Date_Time_SetTimeZoneInformation ( $iBias, $sStdName, $tStdDate, $iStdBias, $sDayName, $tDayDate, $iDayBias )

Param�tres

$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.

Valeur de retour

Succ�s: Retourne True
�chec: Retourne False

Remarques

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.

En relation

$tagSYSTEMTIME, _Date_Time_GetTimeZoneInformation

Exemple

#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