COleDateTime::GetStatus
更新 : 2007 年 11 月
指定した COleDateTime オブジェクトの状態 (有効性) を取得します。
DateTimeStatus GetStatus( ) const throw( );
戻り値
この COleDateTime 値の状態を返します。既定の設定で構築した COleDateTime オブジェクトに対して GetStatus を呼び出すと、有効が返されます。コンストラクタを null に設定して初期化した COleDateTime に対して 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