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


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

Преобразует вариантное представление времени в системные значения времени.

Синтаксис

INT VariantTimeToSystemTime(
  [in]  DOUBLE       vtime,
  [out] LPSYSTEMTIME lpSystemTime
);

Параметры

[in] vtime

Время варианта для преобразования.

[out] lpSystemTime

Получает системное время.

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

Функция возвращает значение 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 года.

Использование структуры SYSTEMTIME полезно в следующих случаях:

  • Он охватывает все периоды времени и даты. Ms-DOS дата и время могут представлять только те даты между 1.01.1980 и 31.12.2107.
  • Элементы даты и времени легко доступны без необходимости декодирования битов.
  • Функции форматирования данных поддержки национального языка и времени GetDateFormat и GetTimeFormat принимают значение SYSTEMTIME в качестве входных данных.
  • Это формат данных времени и даты Win32 по умолчанию, поддерживаемый Windows NT и Windows 95.
Функция VariantTimeToSystemTime принимает недопустимые даты и пытается исправить их при разрешении на время 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