classe Win32_TimeZone
La classe WMI Win32_TimeZone représente les informations de fuseau horaire d’un système informatique exécutant Windows, ce qui inclut les modifications requises pour la transition vers l’heure d’été.
La syntaxe suivante est simplifiée par rapport au code MOF (Managed Object Format) et inclut toutes les propriétés héritées. Les propriétés et les méthodes sont dans l’ordre alphabétique, et non dans l’ordre MOF.
Syntaxe
[Dynamic, Provider("CIMWin32"), UUID("{8502C4EC-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT]
class Win32_TimeZone : CIM_Setting
{
string Caption;
string Description;
string SettingID;
sint32 Bias;
sint32 DaylightBias;
uint32 DaylightDay;
uint8 DaylightDayOfWeek;
uint32 DaylightHour;
uint32 DaylightMillisecond;
uint32 DaylightMinute;
uint32 DaylightMonth;
string DaylightName;
uint32 DaylightSecond;
uint32 DaylightYear;
uint32 StandardBias;
uint32 StandardDay;
uint8 StandardDayOfWeek;
uint32 StandardHour;
uint32 StandardMillisecond;
uint32 StandardMinute;
uint32 StandardMonth;
string StandardName;
uint32 StandardSecond;
uint32 StandardYear;
};
Membres
La classe Win32_TimeZone a les types de membres suivants :
Propriétés
La classe Win32_TimeZone possède ces propriétés.
-
Décalage
-
-
Type de données : sint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| Biais »), Unités (« minutes »)
Biais actuel pour la traduction d’heure locale. Le biais est la différence entre le temps universel coordonné (UTC) et l’heure locale. Toutes les traductions entre l’heure UTC et l’heure locale sont basées sur la formule suivante : UTC = heure locale - bias. Cette propriété est requise.
-
-
Caption
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : MaxLen (64)
Brève description textuelle de l’objet actif.
Cette propriété est héritée de CIM_Setting.
-
-
DaylightBias
-
-
Type de données : sint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| DaylightBias »), Unités (« minutes »)
Valeur de biais à utiliser lors des traductions d’heure locale qui se produisent à l’heure d’été. Cette propriété est ignorée si une valeur pour la propriété DaylightDay n’est pas fournie. La valeur de cette propriété est ajoutée à la propriété Bias pour former le biais utilisé à l’heure d’été. Dans la plupart des fuseaux horaires, la valeur de cette propriété est -60.
-
-
Jour d’été
-
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| DaylightDate|wDay »)
DaylightDayOfWeek du DaylightMonth lorsque la transition de l’heure standard à l’heure d’été se produit sur ce système d’exploitation.
Exemple : si le jour de transition (DaylightDayOfWeek) se produit un dimanche, la valeur « 1 » indique le premier dimanche du DaylightMonth, « 2 » indique le deuxième dimanche, et ainsi de suite. La valeur « 5 » indique la dernière DaylightDayOfWeek du mois.
-
-
DaylightDayOfWeek
-
-
Type de données : uint8
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| DaylightDate|wDayOfWeek »)
Jour de la semaine où la transition de l’heure standard à l’heure d’été se produit sur un système d’exploitation.
-
-
Dimanche (0)
-
Lundi (1)
-
Mardi (2)
-
Mercredi (3)
-
Jeudi (4)
-
Vendredi (5)
-
Samedi (6)
Exemple : 1
DaylightHour
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| DaylightDate|wHour »)
Heure du jour où la transition de l’heure standard à l’heure d’été se produit sur un système d’exploitation.
Exemple : 2
DaylightMilliseconde
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| DaylightDate|wMilliseconds »)
Milliseconde de daylightSecond lorsque la transition de l’heure standard à l’heure d’été se produit sur un système d’exploitation.
DaylightMinute
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| DaylightDate|wMinute »)
Minute de DaylightHour lorsque la transition de l’heure standard à l’heure d’été se produit sur un système d’exploitation.
Exemple : 59
DaylightMonth
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| DaylightDate|wMonth »)
Mois où la transition de l’heure standard à l’heure d’été se produit sur un système d’exploitation.
Janvier (1)
Février (2)
Mars (3)
Avril (4)
Mai (5)
Juin (6)
Juillet (7)
Août (8)
Septembre (9)
Octobre (10)
Novembre (11)
Décembre (12)
Nom de la lumière du jour
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : MaxLen (256), MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| DaylightName »)
Fuseau horaire représenté lorsque l’heure d’été est en vigueur.
Exemple : « EDT » (heure d’été de l’Est)
DaylightSecond
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| DaylightDate|wSecond »)
Deuxième de DaylightMinute lorsque la transition de l’heure standard à l’heure d’été se produit sur un système d’exploitation.
Exemple : 59
DaylightYear
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| DaylightDate|wYear »)
Année où l’heure d’été est en vigueur. Cette propriété n’est pas obligatoire.
Exemple : 1997
Description
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Description textuelle de l’objet actif.
Cette propriété est héritée de CIM_Setting.
SettingID
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : MaxLen (256)
Identificateur par lequel l’objet actuel est connu.
Cette propriété est héritée de CIM_Setting.
StandardBias
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| StandardBias »), Unités (« minutes »)
Valeur de biais à utiliser lorsque l’heure d’été n’est pas en vigueur. Cette propriété est ignorée si une valeur pour StandardDay n’est pas fournie. La valeur de cette propriété est ajoutée à la propriété Bias pour former le biais pendant l’heure standard.
Exemple : 0
StandardDay
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| StandardDate|wDay »)
StandardDayOfWeek du StandardMonth lorsque la transition de l’heure d’été à l’heure standard se produit sur un système d’exploitation.
Si le jour de transition (StandardDayOfWeek) se produit un dimanche, la valeur « 1 » indique le premier dimanche du StandardMonth, « 2 » indique le deuxième dimanche, et ainsi de suite. La valeur « 5 » indique le dernier StandardDayOfWeek du mois.
StandardDayOfWeek
-
Type de données : uint8
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| StandardDate|wDayOfWeek »)
Jour de la semaine où la transition de l’heure d’été à l’heure standard se produit sur un système d’exploitation.
Dimanche (0)
Lundi (1)
Mardi (2)
Mercredi (3)
Jeudi (4)
Vendredi (5)
Samedi (6)
StandardHour
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| StandardDate|wHour »)
Heure du jour où la transition de l’heure d’été à l’heure standard se produit sur un système d’exploitation.
Exemple : 11
StandardMilliseconde
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| StandardDate|wMilliseconds »)
Milliseconde de standardSecond lorsque la transition de l’heure d’été à l’heure standard se produit sur un système d’exploitation.
StandardMinute
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| StandardDate|wMinute »)
Minute du StandardDay lorsque la transition de l’heure d’été à l’heure standard se produit sur un système d’exploitation.
Exemple : 59
StandardMonth
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| StandardDate|wMonth »)
Mois où la transition de l’heure d’été à l’heure standard se produit sur un système d’exploitation.
Janvier (1)
Février (2)
Mars (3)
Avril (4)
Mai (5)
Juin (6)
Juillet (7)
Août (8)
Septembre (9)
Octobre (10)
Novembre (11)
Décembre (12)
StandardName
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : key, MaxLen (256), MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| StandardName »)
Nom du fuseau horaire représenté lorsque l’heure standard est en vigueur.
Exemple : « EST » (Eastern Standard Time)
StandardSecond
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| StandardDate|wSecond »)
Deuxième du StandardMinute lorsque la transition de l’heure d’été à l’heure standard se produit sur un système d’exploitation.
Exemple : 59
StandardYear
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de temps| TIME_ZONE_INFORMATION| StandardDate|wYear »)
Année où l’heure standard est en vigueur. Cette propriété n’est pas obligatoire.
Exemple : 1997
Notes
La classe Win32_TimeZone est dérivée de CIM_Setting.
Vous ne pouvez pas utiliser les formats de date et d’heure standard( 18/10/2002) lors de l’écriture de requêtes WMI. Au lieu de cela, vous devez convertir toutes les dates utilisées dans vos requêtes au format UTC. Cela nécessite deux étapes : 1) Vous devez déterminer le décalage (en minutes) entre votre fuseau horaire et l’heure moyenne de Greenwich, et 2) vous devez convertir le 18/10/2002 en valeur UTC.
Détermination du décalage par rapport à l’heure moyenne de Greenwich
Certes, WMI rend difficile l’utilisation des dates et des heures ; heureusement, WMI facilite au moins la détermination du décalage entre votre fuseau horaire et l’heure moyenne de Greenwich. La classe WMI Win32_TimeZone inclut une propriété - Bias - qui retourne le décalage GMT.
strComputer = "."
Set objSWbemServices = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colTimeZone = objSWbemServices.ExecQuery _
("SELECT * FROM Win32_TimeZone")
For Each objTimeZone in colTimeZone
Wscript.Echo "Offset: "& objTimeZone.Bias
Next
Conversion d’une date en valeur UTC
Après avoir déterminé le décalage GMT, vous devez convertir une date standard telle que le 18/10/2002 en une date UTC. Pour convertir une date standard en date UTC, vous pouvez utiliser des fonctions de date VBScript telles que Year, Month et Day pour isoler les composants individuels qui composent une date UTC. Une fois que vous avez des valeurs individuelles pour ces composants, vous pouvez les concaténer de la même manière que n’importe quelle autre valeur de chaîne. Les dates UTC sont traitées comme des chaînes, car le décalage GMT doit être ajouté à la fin. Si la date était considérée comme un nombre, cette valeur :
20011018113047.000000-480
Serait traité par erreur comme une équation mathématique (parenthèses ajoutées pour plus de clarté) :
(20011018113047.000000) - (480)
Par exemple, à la date du 18/10/2002, les composants individuels sont les suivants :
- Année : 2002
- Mois : 10
- Jour: 18
Le script doit combiner ces trois valeurs, la chaîne « 113047.000000 » (représentant l’heure, y compris les millisecondes) et le décalage GMT pour dériver une date UTC. Par exemple, (parenthèses ajoutées à nouveau pour plus de clarté) :
(2002) & (10) & (18) & (113047.000000) & (-480)
Notes
Vous pouvez utiliser les fonctions VBScript Hour, Minute et Second pour convertir la partie heure d’une date UTC. Ainsi, une heure telle que 11:30:47 serait convertie en 113047.
Il y a un facteur de complaisance. Le mois doit prendre les positions 5 et 6 dans la chaîne ; le jour doit prendre les positions 7 et 8. Ce n’est pas un problème avec le mois 10 et le jour 18. Mais comment obtenir le 5 juillet (mois 7, jour 5) pour remplir les postes requis? La réponse consiste à ajouter un zéro de début à chaque valeur, en modifiant ainsi la valeur 7 par 07 et la valeur 5 par 05.
Pour ce faire, utilisez la fonction VBScript Len pour case activée la longueur (nombre de caractères) dans le mois et le jour. Si la longueur est 1 (ce qui signifie qu’il n’y a qu’un seul caractère), ajoutez un zéro non significatif. Ainsi:
If Len(dtmMonth) = 1 Then
dtmMonth = "0" & dtmMonth
End If
Exemples
L’exemple VBScript suivant convertit la date actuelle en date UTC.
strComputer = "."
Set objSWbemServices = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colTimeZone = objSWbemServices.ExecQuery _
("SELECT * FROM Win32_TimeZone")
For Each objTimeZone in colTimeZone
strBias = objTimeZone.Bias
Next
dtmCurrentDate = Date
dtmTargetDate = Year(dtmCurrentDate)
dtmMonth = Month(dtmCurrentDate)
If Len(dtmMonth) = 1 Then
dtmMonth = "0" & dtmMonth
End If
dtmTargetDate = dtmTargetDate & dtmMonth
dtmDay = Day(dtmCurrentDate)
If Len(dtmDay) = 1 Then
dtmDay = "0" & dtmDay
End If
dtmTargetDate = dtmTargetDate & dtmDay & "000000.000000"
dtmTargetDate = dtmTargetDate & Cstr(strBias)
L’exemple VBScript suivantdétermine le décalage GMT, puis convertit une date actuelle spécifiée (dans ce cas, le 18/10/2002) au format date-heure UTC. Une fois la date convertie, cette valeur est utilisée pour rechercher un ordinateur et retourne une liste de tous les dossiers créés après le 18/10/2002.
strComputer = "."
Set objSWbemServices = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colTimeZone = objSWbemServices.ExecQuery _
("SELECT * FROM Win32_TimeZone")
For Each objTimeZone in colTimeZone
strBias = objTimeZone.Bias
Next
dtmCurrentDate = "10/18/2002"
dtmTargetDate = Year(dtmCurrentDate)
dtmMonth = Month(dtmCurrentDate)
If Len(dtmMonth) = 1 Then
dtmMonth = "0" & dtmMonth
End If
dtmTargetDate = dtmTargetDate & dtmMonth
dtmDay = Day(dtmCurrentDate)
If Len(dtmDay) = 1 Then
dtmDay = "0" & dtmDay
End If
dtmTargetDate = dtmTargetDate & dtmDay & "000000.000000"
dtmTargetDate = dtmTargetDate & Cstr(strBias)
Set colFolders = objSWbemServices.ExecQuery _
("SELECT * FROM Win32_Directory WHERE CreationDate < '" & _
dtmtargetDate & "'")
For Each objFolder in colFolders
Wscript.Echo objFolder.Name
Next
L’exemple de code VBScript suivant affiche les paramètres des instances Win32_TimeZone.
Dim arDayOrWeek(7)
arDayOrWeek(0) = "Sunday"
arDayOrWeek(1) = "Monday"
arDayOrWeek(2) = "Tuesday"
arDayOrWeek(3) = "Wednesday"
arDayOrWeek(4) = "Thursday"
arDayOrWeek(5) = "Friday"
arDayOrWeek(6) = "Saturday"
Dim arMonth(13)
arMonth(1) = "January"
arMonth(2) = "Feburary"
arMonth(3) = "March"
arMonth(4) = "April"
arMonth(5) = "May"
arMonth(6) = "June"
arMonth(7) = "July"
arMonth(8) = "August"
arMonth(9) = "September"
arMonth(10) = "October"
arMonth(11) = "November"
arMonth(12) = "December"
strComputer = "."
wmiQuery = "Select * from Win32_TimeZone"
Set objWMIService = GetObject("winmgmts:\\" & _
strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery(wmiQuery)
For Each objItem in colItems
WScript.Echo "Day of Week setting is: " _
& objItem.dayLightDayOfWeek _
& " which is: " & arDayOrWeek(objItem.DaylightDayOfWeek)
WScript.Echo "Hour: " & objItem.DaylightHour
WScript.Echo "Month: " & objItem.DaylightMonth _
& " which is: " & arMonth(objItem.DaylightMonth )
WScript.Echo "Description: " & objItem.DaylightName
WScript.Echo "The transition from DLS to Standard occurs: "
WScript.Echo "Day of Week setting is: " _
& objItem.standardDayOfWeek _
& " which is: " & arDayOrWeek(objItem.DaylightDayOfWeek)
WScript.Echo "Hour: " & objItem.StandardHour
WScript.Echo "Month: " & objItem.StandardMonth _
& " which is: " & arMonth(objItem.StandardMonth )
WScript.Echo "Description: " & objItem.StandardName
Next
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista |
Serveur minimal pris en charge |
Windows Server 2008 |
Espace de noms |
Racine\CIMV2 |
MOF |
|
DLL |
|
Voir aussi