VC++ CTime类,CTime 与 CString转换

CTime类,CTime 与 CString转换

1 获取当前时间
CTime time = CTime::GetCurrentTime();
其中GetYear( ),GetMonth( ), GetDay( ), GetHour( ), GetMinute( ), GetSecond( ), GetDayOfWeek( ) 返回整型(int)对应项目
例:
int NowMonth = time1.GetMonth();
2 两个时间之间的比较
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;
例:
CTime t1 = CTime::GetCurrentTime();
CTime t2 = t1 + CTimeSpan( 1, 0, 0, 0 ); // 1 Day later
ASSERT( t1 != t2 );
ASSERT( t1 < t2 );
ASSERT( t1 <= t2 );
3 时间差
CTime operator +( CTimeSpan timeSpan ) const;
CTime operator - ( CTimeSpan timeSpan ) const;
CTimeSpan operator - ( CTime time ) const;
例:
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.
4 时间格式化
将当前时间格式化 CString date = time.Format("%Y-%m-%d %H:%M:%S %W-%A");
结果为:2006-10-13 17:23:47 41-Friday

 

----------------------------------------

C++中,CTime 与   CString转换
CTime m_StartTime1 = CTime::GetCurrentTime();
CString csStartTime = m_StartTime1.Format( "%Y%m%d%H%M%S" );

 

一.将CString转为CTime的几种方法

CString    timestr    =    "2000年04月05日";   
   int    a,b,c    ;   
   sscanf(timestr.GetBuffer(timestr.GetLength()),"%d年%d月%d日",&a,&b,&c);   
   CTime    time(a,b,c,0,0,0);     


--------or - ---------------------

CString    s("2001-8-29    19:06:23");   
   int    nYear,    nMonth,    nDate,    nHour,    nMin,    nSec;   
   sscanf(s,    "%d-%d-%d    %d:%d:%d",    &nYear,    &nMonth,    &nDate,    &nHour,    &nMin,    &nSec);   
   CTime    t(nYear,    nMonth,    nDate,    nHour,    nMin,    nSec);

---- or ------------------------
CString    timestr    =    "2000年04月05日";   
   int    year,month,day;   
   BYTE    tt[5];   
   //get    year   
   memset(tt,    0,    sizeof(tt));   
   tt[0]    =    timestr[0];   
   tt[1]    =    timestr[1];   
   tt[2]    =    timestr[2];   
   tt[3]    =    timestr[3];   
   year=    atoi((char    *)tt);   
    
   //get    month   
   memset(tt,    0,    sizeof(tt));   
   tt[0]    =   

你可能感兴趣的:(c/c++)