Функция 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 |