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