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 物件的狀態會出現在下列情況中是無效的:
如果其值不能轉換為日期時間值的 VARIANT 或 COleVariant 值設定為。
如果其值是從 time_t、 SYSTEMTIME或無法轉換為正確的日期/時間值的 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