当前位置:首页 > CTime与CString相互转换的方法

CTime与CString相互转换的方法

点击次数:2287  更新日期:2014-11-24

一.CTime转化为CString

CTime  tmSCan = CTime::GetCurrentTime();

CString szTime = tmScan.Format("'%Y-%m-%d %H:%M:%S'");

这样得到的日期时间字符串就是以"2014-11-24 10:11:12"的格式.这是不是很方便呢?


 //取得CTime中的日期

 CString cstrDate = tmScan.Format("%Y-%m-%d");


 //取得CTime中的时间

 CString cstrTime = tmScan.Format("%H:%M-%S");


二.CString转化为CTime的几种方法

CString   timestr   =   "2014年11月24日";   

  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   =   "2014年11月24日";   

  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]   =   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);