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 对象的状态在以下情况下无效:

  • 如果从其值无法转换为日期/时间值的 VARIANTCOleVariant 值设置为。

  • 如果它的值从 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);   

要求

Header: atlcomtime.h

请参见

参考

COleDateTime选件类

层次结构图

COleDateTime::SetStatus

COleDateTime::m_status