Freigeben über


VarDateFromUdate-Funktion (oleauto.h)

Konvertiert eine Zeit und ein Datum, die aus dem MS-DOS-Format in das Variantenformat konvertiert wurden.

Syntax

HRESULT VarDateFromUdate(
  [in]  UDATE *pudateIn,
  [in]  ULONG dwFlags,
  [out] DATE  *pdateOut
);

Parameter

[in] pudateIn

Das unverpackte Datum.

[in] dwFlags

VAR_VALIDDATE, wenn das Datum gültig ist.

[out] pdateOut

Das gepackte Datum.

Rückgabewert

Diese Funktion kann einen dieser Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
E_INVALIDARG
Eines der Argumente ist ungültig.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.

Hinweise

Die UDATE-Struktur wird mit VarDateFromUdate, VarDateFromUdateEx und VarUdateFromDate verwendet. Es stellt ein unverpacktes Datum dar.

typedef struct {
    SYSTEMTIME st;
    USHORT  wDayOfYear;
} UDATE;

Die VarDateFromUdate-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.

Das Aufrufen von VarDateFromUdate hat dieselbe Auswirkung wie das Aufrufen von VarDateFromUdateEx mit dem LCID-0x0409.

Anforderungen

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