对时间的一些操作总结

时间:2022-06-24 22:11:05

由于项目要对时间进行一些数学运算,要使用 access 数据库交互一些时间的信息,于是乎便有了下文。。。

 

CTime Comparison Operators

BOOL operator ==( CTime time ) const;
BOOL operator !=( CTime time ) const;
BOOL operator <( CTime time ) const;
BOOL operator >( CTime time ) const;
BOOL operator <=( CTime time ) const;
BOOL operator >=( CTime time ) const;

说明:
这些操作符比较两个绝对时间,如果测试条件为真则返回非零值;否则返回0。

示例:
// CTime比较操作符示例:
CTime t1 = CTime::GetCurrentTime();
CTime t2 = t1 + CTimeSpan( 0, 1, 0, 0 ); // 1 hour later
ASSERT( t1 != t2 );
ASSERT( t1 < t2 );
ASSERT( t1 <= t2 );

CTime::operator +, -

CTime operator +( CTimeSpan timeSpan ) const;
CTime operator - ( CTimeSpan timeSpan ) const;
CTimeSpan operator - ( CTime time ) const;

说明:
CTime对象表示绝对时间。CTimeSpan对象表示相对时间。前两个操作符允许你向或从CTime对象中加上或减去一个CTimeSpan对象。第三个操作符允许你将两个CTime对象相减产生一个CTimeSpan对象。

示例:
// CTime::operator +, - 示例:
CTime t1( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999
CTime t2( 1999, 3, 20, 22, 15, 0 ); // 10:15PM March 20, 1999
CTimeSpan ts = t2 - t1; // Subtract 2 Ctimes
ASSERT( ts.GetTotalSeconds() == 86400L );
ASSERT( ( t1 + ts ) == t2 ); // Add a CTimeSpan to a CTime.
ASSERT( ( t2 - ts ) == t1 ); // Subtract a CTimeSpan from a CTime.

CTime::operator +=, -=

const CTime& operator +=( CTimeSpan timeSpan );
const CTime& operator -=( CTimeSpan timeSpan );

说明:
这些操作符允许你从此CTime对象中加上或减去一个CTimeSpan对象。

示例:
// CTime::operator -= 示例:
CTime t( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999
t += CTimeSpan( 0, 1, 0, 0 ); // 1 hour exactly
ASSERT( t.GetHour() == 23 );

 

用CTime::GetTime()就行.
因为CTime::GetTime()或得的是一个long(t_time)类型的值.
是从历史上的某一天(好像是197x年的某一天)到现在的秒数.
是可以直接相减的.
比如有两个CTime类型变量.一个叫tNow,一个叫tYesterday.
那么就可以tNow.GetTime()-tYesterday.GetTime()
那得到的数为正就是前面的时间离现在近.反之同理.