Delen via


CIM_DATETIME

U hebt toegang tot alle Common Information Model (CIM) datums en tijden in WMI door een van de twee indelingen met een vaste lengte te gebruiken die specifiek zijn voor WMI en CIM. Gebruik bij het uitvoeren van scripts het SWbemDateTime--object om deze te converteren naar normale datums en tijden.

In de volgende secties wordt beschreven hoe u de WMI-datum- en tijdnotaties gebruikt.

Formatteren

De volgende tabel bevat de twee datum- en tijdnotaties die worden gebruikt door WMI.

Formatteren Beschrijving
DATETIME-
jjjjmmddHHMMSS.mmmmsUUU-
Notatie waarin CIM DATETIME--waarden worden opgeslagen. Deze indeling is onafhankelijk van landinstellingen, zodat u een script kunt schrijven dat op elke computer wordt uitgevoerd. U moet deze indeling gebruiken om een datum en tijd te definiëren in MOF-(Managed Object Format) of wanneer u naar een exemplaar schrijft met behulp van de COM-API van voor WMI of de Scripting-API voor WMI-. Zie Een exemplaareigenschap wijzigenvoor meer informatie.
De indeling is alleen geldig in WMI Query Language (WQL)-query's.
jjjj-mm-dd UU:MM:SS:mmm
Deze indeling kan worden gebruikt in scripts die gebruikmaken van de methoden SWbemDateTime. Zie WMI- of Query's uitvoeren met WQL-voor meer informatie. Deze indeling is niet onafhankelijk van landinstellingen. De volgorde van het jaar, de maand en de dag is afhankelijk van de land- en taalindelingsinstelling van de gebruikerssessie. Hoewel de standaardinstelling voor Engels in de Verenigde Staten bijvoorbeeld 'mm-dd-jjjj uu:mm:ss:mmm' is, is de notatie voor de meeste andere landen of regio's 'jjjj-mm-dd uu:mm:ss:mmm'.

De volgende tabel bevat de velden in de indelingen.

Veld Beschrijving
jjjj Jaar van vier cijfers (0000 tot en met 9999). Uw implementatie kan het ondersteunde bereik beperken. Een implementatie kan bijvoorbeeld alleen de jaren 1980 tot en met 2099 ondersteunen.
mm Maand met twee cijfers (01 tot en met 12).
dd- Tweecijferige dag van de maand (01 tot en met 31). Deze waarde moet geschikt zijn voor de maand. Bijvoorbeeld: 31 februari is ongeldig. Uw implementatie hoeft echter niet te controleren op geldige gegevens.
UU- Tweecijferig uur van de dag met de 24-uurs klok (00 tot en met 23).
MM- Tweecijferige minuut in het uur (00 tot en met 59).
SS- Tweecijferig aantal seconden in de minuut (00 tot en met 59).
mmmm Zescijferig aantal microseconden in de seconde (000000 tot en met 999999). Uw implementatie hoeft geen ondersteuning te bieden voor evaluatie met behulp van dit veld. Dit veld moet echter altijd aanwezig zijn om de aard van de tekenreeks met vaste lengte te behouden.
mmm- Het aantal milliseconden in de minuut (000 tot en met 999).
Plusteken (+) of minteken (-) om een positieve of negatieve verschuiving van Coordinated Universal Times (UTC) aan te geven.
UUU- Verschuiving van drie cijfers die het aantal minuten aangeeft dat de oorspronkelijke tijdzone afwijkt van UTC. Voor WMI wordt het aangeraden, maar niet vereist, om tijden te converteren naar GMT (een UTC-offset van nul).

U moet alle velden met de aangegeven lengte invoeren, waarbij voorloopnullen worden gebruikt voor het type. Gebruik echter sterretjes om ongebruikte velden of als jokertekenwaarde aan te geven. U kunt overal een sterretje (*) gebruiken, behalve de WHERE component van een query. Een datum en tijd met een niet-opgegeven jaar kunnen bijvoorbeeld in elk jaar voorkomen. Als u een veld niet wilt opgegeven, moet u het hele veld vervangen door sterretjes.

In de volgende voorbeelden worden geldige en ongeldige toepassingen van sterretjes beschreven:

  • 19980416******.000000+** (juridisch)
  • 1998-04-16 ******:*** (illegaal)
  • 199*0416******.000000+*** (illegaal)
  • 199*-04-16 ******:*** (illegaal)

Als een datum/tijd wordt gebruikt om een specifiek tijdstip weer te geven, moeten alle velden gegevens bevatten. Als het wordt gebruikt om een tijdsbereik weer te geven, moeten alleen de velden die nodig zijn om de duur over te brengen gegevens bevatten.

In het volgende voorbeeld wordt 'Eerste april' beschreven: een datum ten opzichte van een niet-opgegeven jaar, maar nog steeds een gedefinieerd punt als het metingsniveau één dag is.

  • ****0401******.000000+***
  • -04-01 ******:*** (illegaal)

UTC-offset en GMT instellen

In de volgende voorbeelden wordt beschreven hoe u een tijd zonder tijdzone kunt definiëren door sterretjes in het veld UUU te plaatsen na het plus- of minteken:

  • 19980401135809.000000+***
  • 19980401135809.000000-***
  • 1998-04-01 13:58:09:*** (illegaal)

Een toepassing interpreteert een niet-gezoneerde datum- en tijdverwijzing naar een lokale, abstracte chronometer binnen het uitgevoerde besturingssysteem. Draagbare computers kunnen bijvoorbeeld interne klokken hebben waarvan de instellingen wel of niet overeenkomen met de geografische tijdzone. U kunt ongezoneerde tijd interpreteren door de tijdzone van de huidige abstracte tijdbron te vervangen in plaats van de lokale tijdzone.

U moet speciale aandacht besteden aan de betekenis van de UTC-offset met datums en tijden in query's. In het algemeen werken equivalentie, groter dan of kleiner dan vergelijkingen tussen twee datums en tijden als de datums en tijden dezelfde UTC-offset gebruiken. Wanneer u te maken hebt met datums en tijden die zich voordoen met verschillende tijdzone-offsets, moet u eerst de datums en tijden converteren naar GMT.

Query's waarbij relatieve datums en tijden met sterretjes in een of meer subvelden zijn betrokken, zijn alleen zinvol voor WMI in vergelijking met gelijkwaardigheid. Bovendien staat WMI het gebruik van sterretjes niet toe als jokertekens. In plaats daarvan vergelijkt WMI relatieve datums en tijden op basis van tekens voor tekens.

In de volgende voorbeelden worden twee datums beschreven die niet gelijk zijn aan een WMI-query:

  • 19980401135809.000000+***
  • 19980401135809.000000+000

Converteren naar FILETIME- of VT_DATE-indeling

De indeling CIM DATETIME wordt alleen binnen WMI gebruikt. U kunt converteren naar en van de WMI-indeling en de INDELING FILETIME of VT_DATE door de methoden van de SWbemDateTime- scriptobject aan te roepen. Een FILETIMEdatetime structuur is een 64-bits waarde die wordt gebruikt door de 32-bits Windows-besturingssystemen. VT_DATE-indeling is een datum/tijd-waarde voor automatiseringsvariant die wordt gebruikt door Visual Basic en ActiveX. De volgende tabel bevat de conversiemethoden.

Methode Beschrijving
SWbemDateTime.GetFileTime Hiermee haalt u een DATETIME- waarde op in FILETIME--indeling.
SWbemDateTime.GetVarDate- Hiermee haalt u een DATETIME- waarde op in VT_DATE notatie.
SWbemDateTime.SetFileTime- Hiermee stelt u een eigenschap DATETIME in met behulp van een FILETIME- datum als invoer.
SWbemDateTime.SetVarDate- Hiermee stelt u een eigenschap DATETIME in met behulp van een VT_DATE datum als invoer.

datum- en tijdnotatie

Over WMI-

WMI-taken: datums en tijden

intervalindeling

SWbemObject.Put_

SWbemServicesEx.Put

SWbemDateTime-

IWbemClassObject::P ut

IWbemServices::P utClass