VarUdateFromDate-Funktion (oleauto.h)

Konvertiert eine Uhrzeit und ein Datum, die vom Variantenformat in das MS-DOS-Format konvertiert werden.

Syntax

HRESULT VarUdateFromDate(
  [in]  DATE  dateIn,
  [in]  ULONG dwFlags,
  [out] UDATE *pudateOut
);

Parameter

[in] dateIn

Das gepackte Datum.

[in] dwFlags

Wird für alternative Kalender wie Hijri, Polnisch und Russisch festgelegt.

[out] pudateOut

Das unverpackte 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 und VarUdateFromDate verwendet. Es stellt ein "unverpacktes" Datum dar.

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

Die VarUdateFromDate-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