DosDateTimeToVariantTime-Funktion (oleauto.h)
Konvertiert die MS-DOS-Darstellung der Zeit in die in einer Variante gespeicherte Datums- und Uhrzeitdarstellung.
Syntax
INT DosDateTimeToVariantTime(
[in] USHORT wDosDate,
[in] USHORT wDosTime,
[out] DOUBLE *pvtime
);
Parameter
[in] wDosDate
Das zu konvertierende MS-DOS-Datum. Der gültige Bereich der MS-DOS-Daten ist der 1. Januar 1980 bis einschließlich 31. Dezember 2099.
[in] wDosTime
Die zu konvertierende MS-DOS-Zeit.
[out] pvtime
Die konvertierte Zeit.
Rückgabewert
Die Funktion gibt bei Erfolg TRUE und andernfalls FALSE zurück.
Hinweise
MS-DOS zeichnet Datums- und Uhrzeitangaben von Dateien als gepackte 16-Bit-Werte auf. Ein MS-DOS-Datum hat das folgende Format.
Bits | Inhalte |
---|---|
0–4 | Tag des Monats (1–31). |
5–8 | Monat (1 = Januar, 2 = Februar usw.). |
9–15 | Jahresoffset von 1980 (fügen Sie 1980 hinzu, um das tatsächliche Jahr zu erhalten). |
Eine MS-DOS-Zeit hat das folgende Format.
Bits | Inhalte |
---|---|
0–4 | Zweite geteilt durch 2. |
5–10 | Minute (0–59). |
11–15 | Stunde (0 bis 23 auf einer 24-Stunden-Uhr). |
Die DosDateTimeToVariantTime-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 in den 01.03.2001 aufgelöst. Es werden nur Tage behoben, sodass ungültige Monatswerte zu einem Fehler führen. Es wird überprüft, ob die Tage zwischen 1 und 31 liegen. Negative Tage und Tage, die größer als 31 sind, führen zu einem Fehler. Ein Tag, der kleiner als 31 ist, aber größer als der maximale Tag in diesem Monat ist, wird auf den entsprechenden Tag des nächsten Monats heraufgestuft. Ein Tag gleich 0 (null) wird als letzter Tag des vorherigen Monats aufgelöst. Beispielsweise wird ein ungültiges Datum wie der 0.02.2001 in den 31.01.2001 aufgelöst.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | oleauto.h |
Bibliothek | OleAut32.lib |
DLL | OleAut32.dll |