Frage

Ich habe eine WMI-Abfrage, die angibt, Zeit in diesem Format '20090219000000,000000 + 480

Kann mir jemand sagen, welches Format das ist, und hat .NET jeden integrierte Funktionalität zur Arbeit mit ihm?

Bearbeiten

Dieser Zeitwert ist aus einer Beispielabfrage, die ich gefunden. Ich weiß nicht, was Zeit Wert verwendet wurde, um es zu erzeugen. Ich muss nur in der Lage sein, einen Zeitwert in dieses Format zu konvertieren.

EDIT 2

fand ich diese Auszeit ist in CIM_DATETIME Format.

War es hilfreich?

Lösung

Das sieht aus wie ein Standard-Datum Zeit-String ohne Trenn:

'20090219000000,000000 + 480

'yyyyMMddhhmmss.ffffff + 480

yyyy -. Das Jahr in vier Ziffern
MM - Der numerische Monat. Einzel einstelligen Monaten haben führende Null.
dd - Der Tag des Monats. Ein einstelliger Tag hat eine führende Null.
hh - Die Stunde in einer 12-Stunden-Uhr. Ein einstellige Stunde hat eine führende Null. (Dies könnte auch HH sein, was die Stunde in einer Uhr 24 Stunden ist mit einem einstelligen Stunde eine führende Null.)
mm - Die Minute. Ein einstellige Minute hat eine führende Null.
ffffff - Der Bruchteil einer Sekunde in sechsstelliger Präzision.

Die „+480“ ist höchstwahrscheinlich eine Zeitzone Indikator, obwohl kein Standard. Normalerweise Zeitzonen werden in Stunden dargestellt (oder Stunden und Minuten) von UTC. Dies scheint wohl nur Minuten. Als solches ist es keine Standardformatangabe.

Die Klasse Datetime in .NET ist, was Sie zur Arbeit mit diesem Wert verwenden würden. Allerdings würden Sie wahrscheinlich den „+480“ -Teil aus, bevor Parsen die verbleibenden Zeichenkette in einen tatsächlichen Datetime-Variable nehmen wollen. Sie können es dann auf die richtige Zeitzone einstellen oder die Zeitzone-Konvertierung (von Minuten bis Stunden / Minuten) vor der Zeit und ändern Sie die „+480“, um die richtige Zeitzone Darstellung durchführen und dann die ganze Sache DateTime.Parse passieren.

Andere Tipps

Wie andere die Zeichenfolge vorgeschlagen haben, ist ein Beispiel für DATETIME- MOF-Daten eingeben . Es ist eine Zeichenfolge fester Länge und Sie können Details über die Struktur hier . .Net verwendet System.Management Namespace Zugriff WMI und einer der seine Klassen ist ManagementDateTimeConverter Klasse, die mit WMI Datumzeit arbeiten erleichtert Werte.

Werfen Sie einen Blick auf diese Link . Einfach durch einen Blick würde ich sagen, es ist in einem Format von YYYYMMDDHHMMSS. [Eine ganze Reihe von ‚f‘ Zeichen].

Es würde helfen, wenn Sie uns gesagt, war es Datum vertreten. Es 2009 am Anfang schon sagt kann es YYYYMMDDHHMMSS.FFFFFF + TZ

sein

(F = Bruchteil von Sekunden, und TZ Unterschied in der Minute von UTC zu sein, so hier, 6 Stunden)

Sie können analysieren diese mit DateTime.ParseExact-Methode (String, String, IFormatProvider, Datetimestyles)

Der Format-String ist "yyyyMMddHHmmss.ffffffzzz"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top