Compartir a través de


COleDateTime::GetStatus

Obtiene el estado (validez) de un objeto determinado de COleDateTime .

DateTimeStatus GetStatus( ) const throw( );

Valor devuelto

devuelve el estado de este valor de COleDateTime . Si llama a GetStatus en un objeto de COleDateTime construido con el valor predeterminado, devolverá válido. Si llama a GetStatus en un objeto de COleDateTime inicializada con el constructor establecido en null, GetStatus devolverá null. Vea Comentarios para obtener más información.

Comentarios

El valor devuelto lo define el tipo enumerado de DateTimeStatus , que se define en la clase de COleDateTime .

enum DateTimeStatus

{

error = -1,

valid = 0,

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

null = 2, // Literally has no value

};

Para obtener una descripción breve de estos valores de estado, vea la siguiente lista:

  • COleDateTime::error Indica que se produjo un error al intentar obtener la parte de fecha y de hora.

  • COleDateTime::valid Indica que este objeto de COleDateTime es válido.

  • COleDateTime::invalid Indica que este objeto de COleDateTime no es válida; es decir, el valor puede ser incorrecto.

  • COleDateTime::null Indica que este objeto de COleDateTime es null, es decir, que no se ha proporcionado ningún valor para este objeto. (Esto es “null” en el sentido de la base de datos de “no tener ningún valor”, en comparación con C++ NULL.)

El estado de un objeto de COleDateTime no es válido en los casos siguientes:

  • Si el valor se establece de un valor de VARIANT o de COleVariant que no se pudo convertir a una fecha y un valor de hora.

  • Si el valor se establece de time_t, de SYSTEMTIME, o valor de FILETIME que no se pudo convertir a una fecha y un valor de hora válidos.

  • Si su valor es establecido por SetDateTime con valores de parámetro válidos.

  • Si este objeto ha experimentado un desbordamiento o un subdesbordamiento durante una operación aritmética de asignación, a saber, += o -=.

  • Si un valor no válido se ha asignado a este objeto.

  • Si establecieron el estado de este objeto explícitamente como no válido utilizando SetStatus.

Para obtener más información sobre las operaciones que pueden establecer el estado como no válido, vea las siguientes funciones miembro:

Para obtener más información sobre los límites para los valores de COleDateTime , vea el artículo fecha y hora: Compatibilidad de automatización.

Ejemplo

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);   

Requisitos

encabezado: atlcomtime.h

Vea también

Referencia

COleDateTime Class

Gráfico de jerarquías

COleDateTime::SetStatus

COleDateTime::m_status