DosDateTimeToVariantTime 函数 (oleauto.h)

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

语法

INT DosDateTimeToVariantTime(
  [in]  USHORT wDosDate,
  [in]  USHORT wDosTime,
  [out] DOUBLE *pvtime
);

参数

[in] wDosDate

要转换的 MS-DOS 日期。 MS-DOS 日期的有效范围为 1980 年 1 月 1 日至 2099 年 12 月 31 日(含)。

[in] wDosTime

要转换的 MS-DOS 时间。

[out] pvtime

转换时间。

返回值

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

注解

MS-DOS 将文件日期和时间记录为打包的 16 位值。 MS-DOS 日期采用以下格式。

Bits 目录
0–4 ) (月 1-31 日。
5–8 月份 (1 = 1 月,2 = 2 月,依此) 。
9–15 从 1980 年的年份偏移量 (加上 1980 年,以获取实际年份) 。
 

MS-DOS 时间具有以下格式。

Bits 目录
0–4 Second 除以 2。
5–10 分钟 (0–59) 。
11–15 24 小时制) 上的小时 (0- 23。
 

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

要求

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