CString  to  CTime:

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);
一.将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));
cstring转为int 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] = timestr[6];
tt[1] = timestr[7];
month = atoi((char *)tt);

//get day
memset(tt, 0, sizeof(tt));
tt[0] = timestr[10];
tt[1] = timestr[11];

CTime time(year,month,day,0,0,0);
二.将CTIme转换为CString的方法:
CTime tmSCan = CTime::GetCurrentTime();
CString szTime = tmScan.Format("'%Y-%m-%d %H:%M:%S'");
这样得到的日期时间字符串就是以"2006-11-27 23:30:59"的格式.
//取得CTime中的日期
CString cstrDate = tmScan.Format("%Y-%m-%d");
//取得CTime中的时间
CString cstrTime = tmScan.Format("%H:%M-%S");
        与Sprintf类似的strftime函数,专用于格式化时间字符串,用法跟前者相像,例:
time_t t = time(0);
    //产生"YYYY-MM-DD hh:mm:ss"格式的字符串。
char s[32];
strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", localtime(&t));
构造一个CTime(year,month,day)
或者CString str = "2000-1-1 23:01:22" ;
COleDateTime tm;
tm.ParseDateTime(str);
SYSTEMTIME st;
tm.GetAsSystemTime(st);
CTime ct(st);
AfxMessageBox(ct.Format("%Y-%m-%d %H:%M:%S"));
//////////////////////////////////////////////
CTime time = CTime::GetCurrentTime();
CTime time4( 2006, 8, 7, 14, 4, 0 );
if(time<time4)
{
  AfxMessageBox("11", MB_OK);
}
else
{
  AfxMessageBox("22", MB_OK);
}
或者
CString  str  =  "2000-1-1  23:01:22"  ; 
  COleDateTime  tm; 
  tm.ParseDateTime(str); 
  SYSTEMTIME  st; 
  tm.GetAsSystemTime(st); 
  CTime  ct(st); 
   
  AfxMessageBox(ct.Format("%Y-%m-%d  %H:%M:%S"));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。