COleDateTime::GetStatus
获取状态(有效性)的特定 COleDateTime 对象。
DateTimeStatus GetStatus( ) const throw( );
返回值
返回此 COleDateTime 值的状态。 如果对 COleDateTime 对象的 GetStatus 构造以默认值,它将返回有效。 如果您对 COleDateTime 对象的 GetStatus 初始化设置的构造函数为空,GetStatus 将返回null。 请参见 Remarks 有关更多信息。
备注
返回值由 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 对象是空值没有为该对象所提供。 (这不是“empty”在数据库意义“具有值”,它与C++ 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);
要求
Header: atlcomtime.h