COleDateTime::GetStatus
COleDateTime の特定のオブジェクトの状態 (有効性) を取得します。
DateTimeStatus GetStatus( ) const throw( );
戻り値
この COleDateTime の値の状態を返します。既定で構築された COleDateTime のオブジェクトの有効 GetStatus を呼び出した場合はを返します。コンストラクターのセットで初期化される null への COleDateTime のオブジェクトの GetStatus を呼び出すと、GetStatus は null を返します。詳細については、[コメント] を参照してください。
解説
戻り値は COleDateTime のクラス内で定義されている DateTimeStatus によって列挙される型によって定義されます。
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に対して「値を持たないデータベースの意味の「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);
必要条件
ヘッダー : atlcomtime.h