次の方法で共有


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::validCOleDateTime でこのオブジェクトが有効であることを示します。

  • COleDateTime::invalidCOleDateTime でこのオブジェクトが無効であることを示しています; つまり、の値は正しくない場合があります。

  • COleDateTime::null は、値がこのオブジェクトに対して指定されていないこと COleDateTime のこのオブジェクトが null、つまりであることを示します。(これは C++ nullに対して「値を持たないデータベースの意味の「null」」、です)。

COleDateTime のオブジェクトの状態は、次の場合に無効です:

  • 値を日付/時刻値に変換できなかった VARIANT または COleVariant の値から設定されます。

  • 値が time_tSYSTEMTIME、または有効な日付/時刻値に変換できなかった 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

参照

関連項目

COleDateTime クラス

階層図

COleDateTime::SetStatus

COleDateTime::m_status