共用方式為


COleDateTime::GetStatus

取得狀態 (驗證) 指定 COleDateTime 物件。

DateTimeStatus GetStatus( ) const throw( );

傳回值

傳回這 COleDateTime 值的狀態。 如果您呼叫在 COleDateTime 物件的 GetStatus 的建構時,預設會傳回有效的。 如果您呼叫一 COleDateTime 物件的 GetStatus 初始化與設為的建構函式設定為 null, GetStatus 會傳回 null。 請參閱 備註 以取得詳細資訊。

備註

傳回值是由 DateTimeStatus 列舉型別定義,在 COleDateTime 類別中定義。

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 的值尚未針對此物件所提供。 (這不是「Null」在資料庫感覺「具有值,」與 C++ NULL)。

COleDateTime 物件的狀態會出現在下列情況中是無效的:

  • 如果其值不能轉換為日期時間值的 VARIANTCOleVariant 值設定為。

  • 如果其值是從 time_tSYSTEMTIME或無法轉換為正確的日期/時間值的 FILETIME 值設定為。

  • 如果其值是由以不正確的參數值的 SetDateTime 設定。

  • 在算術指派運算,也就是說, += 或 -=,如果這個物件發生溢位或反向溢位

  • 如果不正確的值指派給物件。

  • 使用 SetStatus,如果這個物件狀況明確設為無效。

如需可以將狀態變更為無效的作業的詳細資訊,請參閱下列成員函式:

如需 COleDateTime 值的繫結的詳細資訊,請參閱本文 日期和時間:Automation 支援

範例

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

需求

Header: atlcomtime.h

請參閱

參考

COleDateTime 類別

階層架構圖

COleDateTime::SetStatus

COleDateTime::m_status