VariantTimeToDosDateTime-Funktion (oleauto.h)

Konvertiert die Variantendarstellung eines Datums und einer Uhrzeit in MS-DOS-Datums- und Uhrzeitwerte.

Syntax

INT VariantTimeToDosDateTime(
  [in]  DOUBLE vtime,
  [out] USHORT *pwDosDate,
  [out] USHORT *pwDosTime
);

Parameter

[in] vtime

Die zu konvertierende Variantenzeit.

[out] pwDosDate

Empfängt das konvertierte MS-DOS-Datum.

[out] pwDosTime

Empfängt die konvertierte MS-DOS-Zeit

Rückgabewert

Die Funktion gibt bei Erfolg TRUE und andernfalls FALSE zurück.

Hinweise

Eine Variantenzeit wird als 8-Byte-Realwert (double) gespeichert, der ein Datum zwischen dem 1. Januar 100 und dem 31. Dezember 9999 darstellt. Der Wert 2.0 stellt den 1. Januar 1900 dar; 3.0 steht für den 2. Januar 1900 usw. Das Hinzufügen von 1 zum Wert erhöht das Datum um einen Tag. Der Bruchteil des Werts stellt die Tageszeit dar. 2.5 steht daher für den Mittag des 1. Januar 1900; 3.25 steht für 6:00 Uhr am 2. Januar 1900 usw. Negative Zahlen stellen die Daten vor dem 30. Dezember 1899 dar.

Eine Beschreibung der MS-DOS-Datums- und Uhrzeitformate finden Sie unter DosDateTimeToVariantTime.

Die VariantTimeToDosDateTime-Funktion akzeptiert ungültige Datumsangaben und versucht, diese beim Auflösen in eine VARIANT-Zeit zu beheben. Beispielsweise wird ein ungültiges Datum wie der 29.02.2001 auf den 1.3.2001 aufgelöst. Es werden nur Tage behoben, sodass ungültige Monatswerte zu einem Fehler führen. Die Tage werden zwischen 1 und 31 überprüft. Negative Tage und Tage größer als 31 führen zu einem Fehler. Bei einem Tag unter 31, aber größer als der maximale Tag in diesem Monat wird der Tag auf den entsprechenden Tag des nächsten Monats höhergestuft. Ein Tag gleich 0 wird als letzter Tag des Vormonats aufgelöst. Beispielsweise wird ein ungültiges Datum wie der 0.2.2001 auf den 31.1.2001 aufgelöst.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile oleauto.h
Bibliothek OleAut32.lib
DLL OleAut32.dll