COleDateTime::GetStatus
Obtém o status (validade) de um determinado objeto de COleDateTime .
DateTimeStatus GetStatus( ) const throw( );
Valor de retorno
Retorna o status de este valor de COleDateTime .Se você chamar GetStatus em um objeto de COleDateTime construído com a opção, retornará válido.Se você chamar GetStatus em um objeto de COleDateTime inicializado com o construtor definido como zero, GetStatus retornará o zero.Consulte Comentários para mais informações.
Comentários
O valor de retorno é definido pelo tipo enumerado de DateTimeStatus , que é definido dentro da classe de COleDateTime .
enum DateTimeStatus
{
error = -1,
valid = 0,
invalid = 1, // Invalid date (out of range, etc.)
null = 2, // Literally has no value
};
Para obter uma descrição resumida de esses valores de status, consulte a lista a seguir:
COleDateTime::error indica que um erro ocorreu ao tentar obter a parte de data/valor de tempo.
COleDateTime::valid indica que este objeto de COleDateTime é válido.
COleDateTime::invalid indica que este objeto de COleDateTime não é válido; isto é, o valor pode estar incorretos.
COleDateTime::null indica que este objeto de COleDateTime é zero, isto é, que nenhum valor foi fornecido para esse objeto.(Esse é “zero” no sentido de banco de dados de “não ter nenhum valor”, diferentemente de NULOC++.)
O status de um objeto de COleDateTime não é válido nos seguintes casos:
Se o valor é definido de um valor de VARIANT ou de COleVariant que não pode ser convertido em um valor de data/hora.
Se o valor é definido de time_t, de SYSTEMTIME, ou do valor de FILETIME que não pode ser convertido em um valor válido de data/hora.
Se o valor é definido por SetDateTime com valores de parâmetros inválidos.
Se este objeto apresentou um estouro ou um estouro negativo durante uma operação aritmética de atribuição, como, += ou -=.
Se um valor inválido foi atribuído ao objeto.
Se o status de esse objeto for explicitamente a SetStatusem uso inválido.
Para obter mais informações sobre as operações que podem definir o status para inválido, consulte as seguintes funções de membro:
Para obter mais informações sobre limites para valores de COleDateTime , consulte o artigo Data e hora: Suporte de automação.
Exemplo
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
Cabeçalho: atlcomtime.h