Поделиться через


Функция DosDateTimeToVariantTime (oleauto.h)

Преобразует представление времени MS-DOS в представление даты и времени, хранящееся в варианте .

Синтаксис

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

Параметры

[in] wDosDate

Преобразуемая дата MS-DOS. Допустимый диапазон дат MS-DOS — с 1 января 1980 г. по 31 декабря 2099 г. включительно.

[in] wDosTime

Время преобразования MS-DOS.

[out] pvtime

Преобразованное время.

Возвращаемое значение

Функция возвращает значение TRUE при успешном выполнении и FALSE в противном случае.

Комментарии

MS-DOS записывает даты и время файлов в виде упакованных 16-разрядных значений. Дата MS-DOS имеет следующий формат.

Bits Содержимое
0–4 День месяца (1–31).
5–8 Месяц (1 = январь, 2 = февраль и т. д.).
9–15 Смещение года по сравнению с 1980 (добавьте 1980, чтобы получить фактический год).
 

Время MS-DOS имеет следующий формат.

Bits Содержимое
0–4 Секунда делится на 2.
5–10 Минута (0–59).
11–15 Час (0–23 в 24-часовом режиме).
 

Функция DosDateTimeToVariantTime принимает недопустимые даты и пытается исправить их при разрешении на время VARIANT. Например, недопустимая дата, например 29.02.2001, будет считаться 01.03.2001. Исправлены только дни, поэтому недопустимые значения месяца приводят к ошибке. Количество дней в диапазоне от 1 до 31. Отрицательные дни и дни больше 31 приводят к ошибке. День меньше 31, но больше, чем максимальный день в этом месяце, имеет день повышен до соответствующего дня следующего месяца. День, равный нулю, разрешается как последний день предыдущего месяца. Например, недопустимая дата, например 02.0.2001, будет считаться 31.01.2001.

Требования

Требование Значение
Целевая платформа Windows
Header oleauto.h
Библиотека OleAut32.lib
DLL OleAut32.dll