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 |