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 |