COleDateTime选件类
封装用于 OLE 自动化的 DATE 数据类型。
class COleDateTime
成员
公共构造函数
名称 |
描述 |
---|---|
构造 COleDateTime 对象。 |
公共方法
名称 |
描述 |
---|---|
生成 COleDateTime 对象的已格式化的字符串表示形式。 |
|
调用此方法获取在 COleDateTime 对象的时间作为 DBTIMESTAMP 数据结构。 |
|
调用此方法获取在 COleDateTime 对象的时间作为 SYSTEMTIME 数据结构。 |
|
调用此方法获取在 COleDateTime 的时间作为 UDATE 数据结构。 |
|
创建表示当前时间的一 COleDateTime 对象 (静态成员函数)。 |
|
返回此 COleDateTime 对象表示的日 (1 – 31)。 |
|
返回此 COleDateTime 对象表示的周 (sunday = 1)。 |
|
返回此 COleDateTime 对象表示中的日 (一月 1 日= 1)。 |
|
返回此 COleDateTime 对象表示的小时 (0 – 23)。 |
|
返回此 COleDateTime 对象表示的分钟 (0 – 59)。 |
|
返回此 COleDateTime 对象表示的月份 (1 – 12)。 |
|
返回第二此 COleDateTime 对象表示 (0 – 59)。 |
|
获取 COleDateTime 对象的状态 (有效性) 。 |
|
返回此 COleDateTime 对象表示的年份。 |
|
从字符串中读取一个日期/时间值并将 COleDateTime的值。 |
|
将此 COleDateTime 对象的值设置为指定的日期值的。 |
|
将此 COleDateTime 对象的值设置为指定的日期/时间值的。 |
|
设置此 COleDateTime 对象的状态 (有效性)。 |
|
将此 COleDateTime 对象的值设置为指定的时间的值。 |
公共运算符
名称 |
描述 |
---|---|
比较两个 COleDateTime 值。 |
|
增加和减少 COleDateTime 值。 |
|
从此 COleDateTime 对象增加和减少 COleDateTime 值。 |
|
将一个 COleDateTime 值。 |
|
转换 COleDateTime 值转换为 DATE 或 DATE*。 |
公共数据成员
名称 |
描述 |
---|---|
包含此 COleDateTime 对象的基础 DATE。 |
|
包含此 COleDateTime 对象的状态。 |
备注
COleDateTime 没有基类。
它是一个 OLE 自动化的 VARIANT 数据类型的类型。 COleDateTime 值表示绝对日期和时间值。
DATE 类型实现为浮点值。 天数从 1899 年十二月 30 日) 测量,在午夜。 下表显示了的日期及其关联的值:
日期 |
值 |
---|---|
1899 年十二月 29 日午夜, |
-1.0 |
1899 年十二月 29 日,6 AM |
-1.25 |
1899 年十二月 30 日午夜, |
0.0 |
1899 年十二月 31 日午夜, |
1.0 |
1900 年一月 1 日,6 AM.. |
2.25 |
警告
说明在该控件上的表中,虽然日值变为负数在 1899 年十二月 30 日的午夜之前,时间值不。例如,凌晨 6:00 由一部分 0.25 的值始终表示无论表示日的该整数是否为正 (在 1899 年十二月 30 日之后) 或负值 (在 1899 年十二月 30 日之前)。这意味着一个简单的浮点比较比个代表的凌晨 7:00 将不正确排序表示在 12/29/1899 的 COleDateTime 凌晨 6:00,因为 later 当天。
COleDateTime 选件类处理通过十二月 31 日日期 100 年一月 1 日,9999。 COleDateTime 选件类使用公历,它不支持朱利安日期。 COleDateTime 忽略夏时制。 (请参见 日期和时间:自动化支持。)
备注
可以使用 %y 格式检索一个仅中开始在 1900 年的日期。如果在 1900 年前用于日期的 %y 格式,代码生成一个断言失败。
此类型还用于表示日期或时间值。 按照约定,日期 0 (1899 年十二月 30 日)。时间值和时间 00:00 (午夜) 为日期值。
如果您创建一 COleDateTime 对象使用日期小于 100,日期接受,但是,对的后续调用 GetYear、GetMonth、GetDay、GetHour、GetMinute和 GetSecond 失败并返回-1。 过去,您可以使用两位数日期,但是,日期必须为 100 或用在 MFC 4.2 和更高版本。
为了避免问题,请指定一个四位日期。 例如:
COleDateTime mytime(1996, 1, 1, 0, 0, 0);
COleDateTime 值的基本算术运算使用该选件类 COleDateTimeSpan。 COleDateTimeSpan 值定义时间间隔。 这些选件类之间的关系类似于 CTime 和 CTimeSpan之间。
有关 COleDateTime 和 COleDateTimeSpan 选件类的更多信息,请参见中的文章 日期和时间:自动化支持。
要求
**标头:**ATLComTime.h