VarDateFromUdate 函数 (oleauto.h)

将从 MS-DOS 格式转换为变体格式的时间和日期。

语法

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

参数

[in] pudateIn

未打包的日期。

[in] dwFlags

VAR_VALIDDATE日期是否有效。

[out] pdateOut

打包日期。

返回值

此函数可以返回其中一个值。

返回代码 说明
S_OK
成功。
E_INVALIDARG
其中一个参数无效。
E_OUTOFMEMORY
内存不足,无法完成操作。

注解

UDATE 结构与 VarDateFromUdateVarDateFromUdateExVarUdateFromDate 一起使用。 它表示未打包的日期。

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

VarDateFromUdate 函数将接受无效日期,并在解析为 VARIANT 时间时尝试修复它们。 例如,2001 年 2 月 29 日等无效日期将解析为 2001 年 3 月 1 日。 只有天数是固定的,因此无效的月份值会导致返回错误。 日期检查为介于 1 到 31 之间。 负天数和大于 31 的天数会导致错误。 一天小于 31 但大于该月中最大日期的日期将提升为下个月的相应日期。 等于零的一天解析为上一个月的最后一天。 例如,无效日期(如 2001/2/0)将解析为 2001/1/31。

调用 VarDateFromUdate 的效果与使用 LCID 0x0409调用 VarDateFromUdateEx 的效果相同。

要求

要求
目标平台 Windows
标头 oleauto.h
Library OleAut32.lib
DLL OleAut32.dll