variantTimeToDosDateTime 函数 (oleauto.h)

将日期和时间的变体表示形式转换为 MS-DOS 日期和时间值。

语法

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

参数

[in] vtime

要转换的变体时间。

[out] pwDosDate

接收转换后的 MS-DOS 日期。

[out] pwDosTime

接收转换后的 MS-DOS 时间

返回值

函数在成功时返回 TRUE,否则返回 FALSE。

注解

变体时间存储为 8 字节实际值 ( 倍) ,表示介于 100 年 1 月 1 日和 9999 年 12 月 31 日的日期(含 1099 年 1 月 1 日)。 值 2.0 表示 1900 年 1 月 1 日;3.0 表示 1900 年 1 月 2 日等。 向值添加 1 会将日期递增一天。 值的分数部分表示一天中的时间。 因此,2.5 表示 1900 年 1 月 1 日中午:3.25 表示 1900 年 1 月 2 日凌晨 6:00,依依此。 负数表示 1899 年 12 月 30 日之前的日期。

有关 MS-DOS 日期和时间格式的说明,请参阅 DosDateTimeToVariantTime

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

要求

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