Bonjour,
Je propose le code suivant dans le cadre de la réponse au message suivant :http://www.developpez.net/forums/sho....php?p=1107422
Cela peut peut-être correspondre à une entrée au niveau de la FAQ :
Q : Comment récupérer le fuseau défini dans Windows ?
R :
L'identification du fuseau se récupère avec la fonction GetTimeZoneInformation() de l'API Windows.
La fonction et les types qui lui sont associés sont définis dans la partie générale d'un module comme ceci :
La fonction permettant de récupérer la définition du fuseau horaire (en France "+1") est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Declare Function GetTimeZoneInformation Lib "kernel32" _ (lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long 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 End Type Private Type TIME_ZONE_INFORMATION Bias As Long StandardName(32) As Integer StandardDate As SYSTEMTIME StandardBias As Long DaylightName(32) As Integer DaylightDate As SYSTEMTIME DaylightBias As Long End Type
L'appel se fait alors de manière transparentepar exemple grâce à une MsgBox :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Function RecupFuseauTexte() As String 'Fonction de renvoi de la dénommination horaire du fuseau actuellement défini Dim tmz As TIME_ZONE_INFORMATION 'Récupération des données horaires GetTimeZoneInformation tmz 'Affichage du fuseau 'Bias calculé comme ceci (en minutes) 'GMT = Heure locale + Bias If tmz.Bias >= 0 Then 'Données renvoyée de type "-3" RecupFuseauTexte = CStr(-tmz.Bias / 60) Else 'Données renvoyée de type "+1" (France) RecupFuseauTexte = "+" & CStr(-tmz.Bias / 60) End If End Function
Je suis ouvert à toute remarque ou suggestion d'évolution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox RecupFuseauTexte
Bonne fin de journée
Théo
Partager