Windows中如何计算时间间隔(2)COleDateTime 和COleDateTimeSpan类
来源:互联网 发布:自媒体写作软件 编辑:程序博客网 时间:2024/06/05 14:29
COleDateTime 和COleDateTimeSpan 也是常用的2个时间类,其用法类似于前面的CTime和CTimeSpan.先分别进行说明,下面的内容引用自MSDN。
COleDateTime没有基类。
COleDateTime类封装了OLE自动化中使用的DATE数据类型。它是OLE自动化的VARIANT数据类型的可能类型之一。一个COleDateTime值代表一个绝对的日期和时间值。 DATE类型实现为一个浮点值,从1899年12月30日午夜起计算“日”数。所以1899年12月31日午夜用数1.0来表示。相似的,1900年1月1日下午6时用数2.75来表示,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之间的关系。头文件
#include <afxdisp.h>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值
COleDateTimeSpan
COleDateTimeSpan没有基类。 一个COleDateTimeSpan对象表示一个相对的时间,即一个时间段。 COleDateTimeSpan以日为单位来保存时间。 COleDateTimeSpan类常常与类COleDateTime一起使用。COleDateTime封装了OLE自动化中的DATE数据类型。COleDateTime表示绝对的时间值。所有的COleDateTime计算都涉及COleDateTimeSpan值。这两个类之间的关系类似于类CTime和类CTimeSpan之间的关系。 有关类COleDateTime和COleDateTimeSpan的更进一步的信息,可以参考“Visual C++程序员指南”一书中的文章“日期与时间:自动化支持”。 #include <afxdisp.h> COleDateTimeSpan类成员 构造COleDateTimeSpan构造COleDateTimeSpan对象 属性GetStatus获取COleDateTimeSpan对象的状态(有效性)SetStatus设置COleDateTimeSpan对象的状态(有效性)GetDays返回COleDateTimeSpan对象所表示的时间段的日部分GetHours返回COleDateTimeSpan对象所表示的时间段的小时部分GetMinutes返回COleDateTimeSpan对象所表示的时间段的分钟部分GetSeconds返回COleDateTimeSpan对象所表示的时间段的秒部分GetTotalDays返回COleDateTimeSpan对象所表示的天数GetTotalHours返回COleDateTimeSpan对象所表示的小时数 属性GetTotalMinutes返回COleDateTimeSpan对象所表示的分钟数GetTotalSeconds返回COleDateTimeSpan对象所表示的秒数 操作SetDateTimeSpan设置COleDateTimeSpan对象的值Format产生一个COleDateTimeSpan对象的格式化字符串表达式 操作operator double将COleDateTimeSpan的值转换为双精度值operator =拷贝一个COleDateTimeSpan值operator +,-加、减COleDateTimeSpan值,或改变COleDateTimeSpan值的符号operator +=,-=从一个COleDateTimeSpan值中加、减这个COleDateTimeSpan值关系操作符比较两个COleDateTimeSpan值 数据成员m_span记录这个COleDateTimeSpan对象所代表的基本的双精度值m_status记录COleDateTimeSpan对象的状态 Dump/Archiveoperator <<将COleDateTimeSpan值输出到CArchive或CDumpContextoperator >>从CArchive输入一个COleDateTimeSpan对象
SYSTEMTIME &stTimeF;
SYSTEMTIME &stTimeS;
。。。。。。。。。。。
COleDateTime dTimeF(stTimeF);
COleDateTime dTimeS(stTimeS);
COleDateTimeSpan dTimeSpan = dTimeF - dTimeS;
int nSecnonSpan = dTimeSpan.GetTotalSeconds();
- Windows中如何计算时间间隔(2)COleDateTime 和COleDateTimeSpan类
- COleDateTime和COleDateTimeSpan类
- 深度剖析COleDateTime和COleDateTimeSpan类
- COleDateTime和COleDateTimeSpan类详细分析
- 深度剖析COleDateTime和COleDateTimeSpan类
- Windows中如何计算时间间隔(2)使用SYSTEMTIME和FILETIME
- MFC时间类的使用(CTime、CTimeSpan、COleDateTime、COleDateTimeSpan)
- CTime和CTimeSpan与COleDateTime和COleDateTimeSpan 类
- Windows中如何计算时间间隔(1)使用CTime 和CTimeSpan
- CString 时间字符串、COleDateTime 和 CTime 类之间的转换以及如何计算时间差
- CTime、CTimeSpan、COleDateTime、COleDateTimeSpan
- 如何计算系统时间间隔。
- 时间间隔计算工具类
- 如何计算Date间隔的时间
- java中利用时间间隔计算日期
- Java中关于时间间隔的计算
- objective-c 中计算时间间隔
- 简单计时器类 计算时间间隔
- java.lang.ClassCastException: org.apache.struts.taglib.bean.CookieTei问题的解决
- C#结构体定义的详解
- PHP 的垃圾回收机制一些认识
- Asp.Net细节性问题精粹
- 前端SPOF调查
- Windows中如何计算时间间隔(2)COleDateTime 和COleDateTimeSpan类
- ado.net操作数据库总结
- asp.net生成缩略图及给原始图加水印
- Java 枚举7常见种用法
- XML示例
- 认识XHTML1.0
- 乐呵:大而全的移动消费指南
- ASP.NET中Cookie的使用
- domino实时在线人数再创新高!逼近300人