Aracılığıyla paylaş


CIM_DATETIME

WMI ve CIM'ye özgü iki sabit uzunluklu biçimlerden birini kullanarak WMI'daki tüm Ortak Bilgi Modeli'ne (CIM) tarih ve saatlerine erişebilirsiniz. Betik oluşturmada, bunları normal tarih ve saatlere dönüştürmek için SWbemDateTime nesnesini kullanın.

Aşağıdaki bölümlerde WMI tarih ve saat biçimlerinin nasıl kullanılacağı açıklanmaktadır.

Biçim

Aşağıdaki tabloda WMI tarafından kullanılan iki tarih ve saat biçimi listelenir.

Biçim Açıklama
DATETIME
yymmddHHMMSS.mmmmmmsUUU
CIM DATETIME değerlerinin depolandığı biçim. Bu biçim yerel ayardan bağımsızdır, bu nedenle herhangi bir makinede çalışan bir betik yazabilirsiniz. Yönetilen Nesne Biçimi (MOF)bir tarih ve saat tanımlamak için veya WMI için COM API'sini veya WMI içinKomut Dosyası API'sini kullanarak bir örneğe yazarken bu biçimi kullanmalısınız. Daha fazla bilgi için bkz. Örnek Özelliğini Değiştirme.
Biçim yalnızca WMI Sorgu Dili (WQL) sorgularında geçerlidir.
yyyy-mm-dd HH:MM:SS:mmm
Bu biçim, SWbemDateTime yöntemlerini kullanan betiklerde kullanılabilir. Daha fazla bilgi için bkz. WMI Sorgulama veya WQL ile Sorgulama. Bu biçim yerel ayardan bağımsız değildir. Yıl, ay ve günün sırası, kullanıcı oturumunun bölgesel ve dil biçimi ayarına bağlıdır. Örneğin, ABD İngilizcesi için varsayılan değer "mm-dd-yyyy ss:mm:ss:mmm" olsa da, diğer ülkelerin veya bölgelerin çoğu için biçim "yyyy-mm-dd hh:mm:ss:mmm" şeklindedir.

Aşağıdaki tabloda biçimlerdeki alanlar listelemektedir.

Alan Açıklama
yyyy Dört basamaklı yıl (0000 ile 9999 arası). Uygulamanız desteklenen aralığı kısıtlayabilir. Örneğin, bir uygulama yalnızca 1980 ile 2099 yılları arasında destekleyebilir.
mm İki basamaklı ay (01 ile 12 arasında).
dd Ayın iki basamaklı günü (01 ile 31 arasında). Bu değer ay için uygun olmalıdır. Örneğin, 31 Şubat geçerli değil. Ancak uygulamanızın geçerli verileri denetlemesi gerekmez.
SS 24 saatlik saati (00 ile 23 arasında) kullanarak günün iki basamaklı saati.
MM Saatte iki basamaklı dakika (00 ile 59 arasında).
SS Dakikadaki iki basamaklı saniye sayısı (00 ile 59 arasında).
mmmm saniyedeki mikrosaniyenin altı basamaklı sayısı (0000000 ile 999999 arasında). Uygulamanızın bu alanı kullanarak değerlendirmeyi desteklemesi gerekmez. Ancak, dizenin sabit uzunluktaki doğasını korumak için bu alanın her zaman mevcut olması gerekir.
mmm Dakikadaki üç basamaklı milisaniye sayısı (000 ile 999 arasında).
Eşgüdümlü Evrensel Saatlerden (UTC) pozitif veya negatif uzaklığı belirtmek için artı işareti (+) veya eksi işareti (-).
UUU Kaynak saat diliminin UTC'den sapma dakika sayısını gösteren üç basamaklı uzaklık. WMI için, saatleri GMT'ye (sıfır utc uzaklığı) dönüştürmesi teşvik edilir, ancak gerekli değildir.

Belirtilen uzunluktaki tüm alanları, türe uygun şekilde baştaki sıfırları kullanarak girmeniz gerekir. Ancak kullanılmayan alanları veya joker karakter değerini belirtmek için yıldız işareti kullanın. Sorgunun WHERE yan tümcesi dışında her yerde yıldız işareti (*) kullanabilirsiniz. Örneğin, belirtilmemiş bir yıla sahip bir tarih ve saat herhangi bir yılda gerçekleşebilir. Bir alanı belirtilmemiş olarak bırakmak istiyorsanız, alanın tamamını yıldız işaretiyle değiştirmeniz gerekir.

Aşağıdaki örneklerde yıldız işaretlerinin geçerli ve geçersiz kullanımları açıklanmaktadır:

  • 19980416******.000000+*** (Yasal)
  • 1998-04-16 ******:*** (Yasa dışı)
  • 199*0416******.000000+*** (Yasadışı)
  • 199*-04-16 ******:*** (Yasa dışı)

Belirli bir zaman noktasını temsil etmek için bir tarih saat kullanılırsa, tüm alanları veri içermelidir. Bir zaman aralığını temsil etmek için kullanılıyorsa, yalnızca süreyi iletmek için gereken alanlar veri içermelidir.

Aşağıdaki örnekte "Önce Nisan" açıklanmaktadır: belirtilmeyen bir yıla göre bir tarih, ancak ölçüm ayrıntısı düzeyi bir gün ise yine de tanımlanmış bir noktadır.

  • ****0401******.000000+***
  • -04-01 ******:*** (Geçersiz)

UTC Uzaklığını ve GMT'i ayarlama

Aşağıdaki örneklerde, UUU alanına artı veya eksi işaretinden sonra yıldız işareti koyarak saat dilimi olmayan bir saati nasıl tanımlayabileceğiniz açıklanmaktadır:

  • 19980401135809.000000+***
  • 19980401135809.000000-***
  • 1998-04-01 13:58:09:*** (Yasa dışı)

Uygulama, yürütme işletim sistemi içindeki yerel, soyut bir kronometreye bölgelenmemiş tarih ve saat başvurusunu yorumlar. Örneğin, taşınabilir bilgisayarlarda ayarları coğrafi saat dilimine karşılık gelen veya olmayan iç saatler olabilir. Yerel saat dilimi yerine geçerli soyut saat kaynağının saat dilimini değiştirerek, bölgelenmemiş saati yorumlayabilirsiniz.

Sorgulardaki tarih ve saatlerle UTC uzaklığının anlamını özellikle dikkate almalıdır. Genel olarak, tarihler ve saatler aynı UTC uzaklığını kullanıyorsa denklik, büyük veya küçük karşılaştırmalar iki tarih ve saat arasında çalışır. Farklı saat dilimi uzaklıklarıyla gerçekleşen tarih ve saatlerle ilgilenirken, önce tarihleri ve saatleri GMT'ye dönüştürmeniz gerekir.

Bir veya daha fazla alt alanda yıldız işareti olan göreli tarih ve saatleri içeren sorgular, eşdeğerlik açısından karşılaştırıldığında WMI için yalnızca anlamlıdır. Ayrıca WMI, joker karakter olarak yıldız işareti kullanılmasına izin vermez. Bunun yerine WMI, göreli tarih ve saatleri karakter bazında karşılaştırır.

Aşağıdaki örneklerde, WMI sorgusunun eşit kabul etmediği iki tarih açıklanmaktadır:

  • 19980401135809.000000+***
  • 19980401135809.000000+000

FILETIME veya VT_DATE biçimine dönüştürme

CIM DATETIME biçimi yalnızca WMI içinde kullanılır. SWbemDateTime betik oluşturma nesnesinin yöntemlerini çağırarak WMI biçimine ve FILETIME veya VT_DATE biçimine dönüştürebilirsiniz. FILETIMEdatetime yapısı, 32 bit Windows işletim sistemlerinin kullandığı 64 bitlik bir değerdir. VT_DATE biçimi, Visual Basic ve ActiveX tarafından kullanılan bir otomasyon değişken tarih saat değeridir. Aşağıdaki tabloda dönüştürme yöntemleri listelemektedir.

Yöntem Açıklama
SWbemDateTime.GetFileTime FILETIME biçiminde DATETIME değeri alır.
SWbemDateTime.GetVarDate VT_DATE biçimde bir DATETIME değeri alır.
SWbemDateTime.SetFileTime Giriş olarak FILETIME tarihi kullanarak DATETIME özelliğini ayarlar.
SWbemDateTime.SetVarDate Giriş olarak VT_DATE bir tarih kullanarak DATETIME özelliğini ayarlar.

Tarih ve Saat Biçimi

WMI Hakkında

WMI Görevlerini : Tarihler ve Saatler

Aralık Biçimi

SWbemObject.Put_

SWbemServicesEx.Put

SWbemDateTime

IWbemClassObject::P ut

IWbemServices::P utClass