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 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);
-
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];
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);
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");
CString cstrDate = tmScan.Format("%Y-%m-%d");
//取得CTime中的时间
CString cstrTime = tmScan.Format("%H:%M-%S");
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小时内删除。
发表评论