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


Функция 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-байтового реального значения (double), представляющего дату между 1 января 100 г. и 31 декабря 9999 г. включительно. Значение 2.0 представляет 1 января 1900 года; 3.0 представляет 2 января 1900 года и т. д. При добавлении 1 к значению дата увеличивается на день. Дробная часть значения представляет время суток. Таким образом, 2,5 представляет полдень 1 января 1900 года; 3.25 представляет собой 6:00 утра 2 января 1900 года и т. д. Отрицательные числа представляют даты до 30 декабря 1899 года.

Описание форматов даты и времени MS-DOS см. в разделе DosDateTimeToVariantTime.

Функция VariantTimeToDosDateTime принимает недопустимые даты и пытается исправить их при разрешении на время 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