COleDateTime

COleDateTime没有基类。
COleDateTime类封装了在OLE自动中使用的DATE数据类型。它是OLE自动的VARIANT数据类型的一种可能类型。一个COleDateTime值代表一个绝对的日期和时间值。
DATE类型实现为一个浮点值,从1899年12月30日午夜起计算“日”。所以1899年12月31日午夜用数1.0来代表。相似的,1900年1月1日下午6时用数2.25来代表,1899年12月29日午夜是-1.0。而1899年12月29日下午6 时用数-0.25来代表。
注意:解释时间各部分的值时,要取数据的相应部分的绝对值。
COleDateTime类处理了从100年1月1日到9999年12月31日的日期。
注意:
COleDateTime忽略了夏时制。可参阅联机文档《Visual C++程序员指南》中的“日期和时间:自动支持”,以了解详细情况。该类型也可用于仅仅代表日期或时间的值。按通常约定,日期0(1899年12月30日)用于仅代表时间的值,相似地,时间0:00(午夜)用于仅代表日期的值。
如果创建一个日期小于100的COleDateTime对象,则此日期可被接受,但以后调用GetYear,GetMonth,GetDay,GetHour,GetMinute和GetSecond将失败,并返回-1。以前可用两位表示日期,但在MFC 4.2及以后的版本中,日期必须大于100。
要避免出现问题,可指定4位表示日期,例如:
COleDataTime.mytime(1996,1,1,0,0,0);
COleDateTime值的算术运算使用互补类COleDateTimeSpan。COleDateTimeSpan值代表相对时间,一个区间。它们之间的关系类似于CTime和CTimeSpan之间的关系。
有关COleDateTime和COleDateTimeSpan类的信息,请参阅联机文档《Visual C++程序员指南》中的“日期和时间:自动支持”。
#include <afxdisp.h>
请参阅:COleVariant


COleDateTime类的成员

构造函数
COleDateTime构造一个COleDateTime对象
GetCurrentTime创建一个代表当前时间的COleDateTime对象(静态成员函数)

属性
GetStatus获取该COleDateTime对象的状态(有效性)
SetStatus设置该COleDateTime对象的状态(有效性)
GetAsSystemTime转换COleDateTime对象的时间用一个SYSTEMTIME数据结构表示
GetYear返回该COleDateTime对象代表的年
GetMonth返回该COleDateTime对象代表的月(1-12)
GetDay返回该COleDateTime对象代表的日(1-31)
GetHour返回该COleDateTime对象代表的时(0-23)
GetMinute返回该COleDateTime对象代表的分(0-59)
GetSecond返回该COleDateTime对象代表的秒(0-59)
GetDayOfWeek返回该COleDateTime对象代表的该天是星期几(星期日=1)
GetDayOfYear返回该COleDateTime对象代表的该天是年内第几天(1月1日=1)

操作
SetDateTime设置该COleDateTime对象值为指定的日期/时间值
SetDate设置该COleDateTime对象值为指定的日期值
SetTime设置该COleDateTime对象值为指定的时间值
Format生成一个代表一COleDateTime对象的格式化字符串
ParseDateTime从一个字符串读取一个日期/时间值并设置为COleDateTime的值

操作符
operator DATE将一个COleDateTime值转换为一个DATE
operator DATE*将一个COleDateTime值转换为一个DATE*
operator =复制一个COleDateTime值
operator +, -加减COleDateTime值
operator +=, -=从该COleDateTime对象中加上或减去一个COleDateTime值
关系操作符比较两个COleDateTime值

数据成员
m_dt包含该COleDateTime对象对应的DATE
m_status包含该COleDateTime对象的状态

归档/存储
operator <<从CArchive或CDumpContext输出COleDateTime值
operator >>从CArchive输入一个COleDateTime值