COleDateTime::GetStatus

Ottiene lo stato (validità) di un determinato oggetto COleDateTime.

DateTimeStatus GetStatus( ) const throw( );

Valore restituito

Restituisce lo stato del valore COleDateTime.Se si chiama GetStatus su un oggetto COleDateTime costruito con l'impostazione predefinita, restituirà valido.Se si chiama GetStatus su un oggetto COleDateTime inizializzato con il costruttore impostato su null, GetStatus restituisce NULL.Vedere Note per ulteriori informazioni.

Note

Il valore restituito è definito dal tipo enumerato DateTimeStatus, definito nella classe COleDateTime.

enum DateTimeStatus

{

error = -1,

valid = 0,

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

null = 2, // Literally has no value

};

Per una breve descrizione di questi valori dello stato, vedere il seguente elenco:

  • COleDateTime::error indica che si è verificato un errore durante il tentativo di ottenere la parte del valore data/ora.

  • COleDateTime::valid indica che l'oggetto COleDateTime è valido.

  • COleDateTime::invalid indica che l'oggetto COleDateTime non è valido; ovvero il valore può essere corretto.

  • COleDateTime::null indica che l'oggetto COleDateTime è null, ovvero, che nessun valore è stato fornito per l'oggetto.Ossia "null" nel senso del database di "non contiene alcun valore," rispetto a C++ NULL).

Lo stato di un oggetto COleDateTime non è valido nei seguenti casi:

  • Se il valore viene impostato da un valore COleVariant o VARIANT che non può essere convertito in un valore data/ora.

  • Se il valore viene impostato da time_t, da SYSTEMTIME, o dal valore FILETIME che non può essere convertito in un valore data/ora valida.

  • Se il valore viene impostato da SetDateTime con i valori dei parametri non validi.

  • Se questo oggetto è verificato un overflow o un underflow durante un'operazione di assegnazione aritmetica, cioé, += o un -=.

  • Se un valore non valido è stato assegnato a tale oggetto.

  • Se lo stato di questo oggetto in modo esplicito è impostato su non valido utilizzando SetStatus.

Per ulteriori informazioni sulle operazioni che possono impostare lo stato su non valido, vedere le seguenti funzioni membro:

Per ulteriori informazioni sui limiti dei valori COleDateTime, vedere l'articolo data e ora: supporto di automazione.

Esempio

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

Requisiti

Header: atlcomtime.h

Vedere anche

Riferimenti

Classe di COleDateTime

Grafico della gerarchia

COleDateTime::SetStatus

COleDateTime::m_status