class CMYtime
{
private:
inline void add_two_number(char *c,int n)
{
static char szBuf[3];
szBuf[0]=(n%100)/10+'0';
szBuf[1]=n%10+'0';
szBuf[2]=0;
strcat(c,szBuf);
}
//格式"2006-01-17 00:02:00";
CString turn_time_to_str(const CTime &time)
{
char szBuf[200];
sprintf(szBuf,"%d-",time.GetYear());
add_two_number(szBuf,time.GetMonth());
strcat(szBuf,"-");
add_two_number(szBuf,time.GetDay());
strcat(szBuf," ");
add_two_number(szBuf,time.GetHour());
strcat(szBuf,":");
add_two_number(szBuf,time.GetMinute());
strcat(szBuf,":");
add_two_number(szBuf,time.GetSecond());
return szBuf;
}
int s_to_i(const char*pstr) //两位的做
{
int a=(pstr[0]-'0')&0xff;
int b=(pstr[1]-'0')&0xff;
return a*10+b;
}
CTime turn_str_to_time(const char*ptime)
{
2012-06-05 14:20:15
CTime t=CTime::GetCurrentTime();
if (ptime&&strlen(ptime)>=19)
{
int year=s_to_i(ptime)*100+s_to_i(&ptime[2]);
int month=s_to_i(&ptime[5]);
int day=s_to_i(&ptime[8]);
int hour=s_to_i(&ptime[11]);
int mini=s_to_i(&ptime[14]);
int sec=s_to_i(&ptime[17]);
t=CTime(year,month,day,hour,mini,sec);
}
return t;
}
public:
CMYtime(){m_t=CTime::GetCurrentTime();}
CMYtime(const char*p){m_t=turn_str_to_time(p);}
CMYtime(const CTime&t){m_t=t;}
CTime get_time(){return m_t;}
CString get_time_str(){return turn_time_to_str(m_t);}
private:
CTime m_t;
};