2024年3月9日发(作者:)

CTimeSpan类

1.构造函数。

CTimeSpan类有下列构造函数:

(1)CTimeSpan() ;

(2)CTimeSpan( const CTimeSpan& timeSpanSrc );

(3)CTimeSpan( time_t time );

(4)CTimeSpan( LONG lDays, int nHours, int nMins, int nSecs );

参数timeSpanSrc为一个已存在的 CTimeSpan 对象,time为一个time_t 类型的

时间值,lDays, nHours, nMins, nSecs分别为天数、小时数、分数和秒数。

2.时间值的提取函数

(1)GetDays() 获得CTimeSpan类对象中包含的完整的天数。

(2)GetHours() 获得当天的小时数,值在-23到23之间。

(3)GetTotalHours() 获得CTimeSpan类对象中包含的完整的小时数。

(4)GetMinutes() 获得当前小时包含的分数,值在-59到59之间。

(5)GetTotalMinutes() 获得CTimeSpan类对象中包含的完整的分数。

(6)GetSeconds() 获得当前分钟包含的秒数,值在-59到59之间。

(7)GetTotalSeconds() 获得CTimeSpan类对象中包含的完整的秒数。

格式化时间

Format() 将一个CTimeSpan对象转换成格式字符串。使用方式与CTime类似,

格式化字符包括以下几个:

%D: CTimeSpan的总天数;

%H: 不足整天的小时数;

%M: 不足1小时的分数;

%S: 不足1分钟的秒数;

%%: 百分号。

4.重载运算符

CTimeSpan类也重载了运算符“=”,“+”,“-”,“+=”,“-=”,“==”,

“!=”,“<”,“>”,“<=”,“>=”,用于CTimeSpan对象的赋值、加减运算

及两个CTimeSpan对象的比较。

例子代码

构造一个CTimeSpan对象,并获取其中的完整天数、小时数、分数和秒数,将获得

的信息在信息框中显示。

CTimeSpan m_timespan(3,4,5,6); // 3天,4小时,5分,6秒

LONG m_totalDays=m_s(); //获得完整天数

LONG m_totalHours=m_alHours(); //获得完整小时数

LONG m_totalMinutes=m_alMinutes(); //获得完整分数

LONG m_totalSeconds=m_alSeconds(); //获得完整秒数

char s1[8], s2[8], s3[8], s4[8];

wsprintf(s1,"%ld",m_totalDays);

wsprintf(s2,"%ld",m_totalHours);

wsprintf(s3,"%ld",m_totalMinutes);

wsprintf(s4,"%ld",m_totalSeconds);

CString m_str = "此时间范围包含:n完整天数 :"+CString(s1)+"n完整小时

数:"+CString(s2)+"n完整分数 :"+CString(s3)+"n完整秒数 :"+CString(s4);

MessageBox(m_str);

运行结果在信息框中显示5行,其中s1的内容为“3”,s2的内容为“76”(3*24+4),

s3的内容为“4565”(76*60+5),s4的内容为“273906”(4565*60+6)。