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


COleDateTime::GetStatus

Получает состояние (допустимость) заданного объекта COleDateTime.

DateTimeStatus GetStatus( ) const throw( );

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

Возвращает состояние данного значения COleDateTime. При вызове GetStatus в объекте COleDateTime конструируемого со значением по умолчанию, то оно возвратит допустимым. При вызове GetStatus в объекте COleDateTime инициализированном с параметром конструктора значение null, то GetStatus возвращает значение null. Дополнительные сведения см. в разделе Примечания.

Заметки

Возвращаемое значение определяется типом, перечисленные DateTimeStatus, который определен в классе COleDateTime.

enum DateTimeStatus

{

error = -1,

valid = 0,

invalid = 1, // Invalid date (out of range, etc.)

null = 2, // Literally has no value

};

Для краткое описание этих значений состояния см. в следующем списке:

  • COleDateTime::error указывает, что произошла ошибка при попытке получения части значения дата-время.

  • COleDateTime::valid указывает, что данный объект COleDateTime допустимым.

  • COleDateTime::invalid указывает, что данный объект COleDateTime недопустим. то есть, его значение может быть неверной.

  • COleDateTime::null указывает, что данный объект COleDateTime пуст, то есть, что значение не предоставлено для данного объекта. (Это "null" в смысле базы данных "не иметь никакого значения, в отличие от C++) NULL.

Состояние объекта COleDateTime недопустимо в следующих случаях:

  • Если его значение установлено от значения, VARIANT или COleVariant, которое не удалось преобразован к значению даты и времени.

  • Если его значение установлено в time_t, SYSTEMTIME или значения, то FILETIME, которое не удалось преобразован к допустимому значению даты и времени.

  • Если его значение установлено SetDateTime с недопустимыми значениями параметров.

  • Если этот объект испытывал переполнения или потери точности в течение арифметической операции присваивания, а именно, += или -=.

  • Если указано недопустимое значение присвоено к данному объекту.

  • Если состояние данного объекта явно установлено на недопустимое использование SetStatus.

Дополнительные сведения об операциях, которые могут установить состояние на недопустимое, см. следующие функции-члены:

Дополнительные сведения о диапазоне для значений COleDateTime см. в статье Дата и время: поддержка автоматизации.

Пример

COleDateTime t;

// this one is a leap year
t.SetDateTime(2000, 2, 29, 5, 0, 0);
ASSERT(t.GetStatus() == COleDateTime::valid);

// this date isn't valid
t.SetDateTime(1925, 2, 30, 5, 0, 0);
ASSERT(t.GetStatus() == COleDateTime::invalid);

// the only way to set null is to set null!
t.SetStatus(COleDateTime::null);
ASSERT(t.GetStatus() == COleDateTime::null);   

Требования

Header: atlcomtime.h

См. также

Ссылки

COleDateTime Class

Диаграмма иерархии

COleDateTime::SetStatus

COleDateTime::m_status