TCHAR szItem[MAX_PATH] = {(0)};
TCHAR szTiemEnd[MAX_PATH] = {(0)};
wsprintf(szItem,_T("%04u-%02u-%02u %02u:%02u:%02u"),
pRec->m_tmBegin.wYear,pRec->m_tmBegin.wMonth,pRec->m_tmBegin.wDay,
pRec->m_tmBegin.wHour,pRec->m_tmBegin.wMinute,pRec->m_tmBegin.wSecond);
wsprintf(szTiemEnd,_T("%04u-%02u-%02u %02u:%02u:%02u"),
pRec->m_tmEnd.wYear,pRec->m_tmEnd.wMonth,pRec->m_tmEnd.wDay,
pRec->m_tmEnd.wHour,pRec->m_tmEnd.wMinute,pRec->m_tmEnd.wSecond);
DemoInfo("Messile:%s, begTime:%s, endTime:%s, Desc:%s, Type:%s",pRec->m_szCamera, szItem, szTiemEnd, pRec->m_szRecDesc, pRec->m_szRecType);
我想把时间格式化后通过DemoInfo定向到log里去,但是怎么begTime和endTime运行结果都不是2012-04-18 16:13:25的形式,而是两个整数2啊?log里面的结果为:
Messile:白杨-III, begTime:2, endTime:2, Desc:, Type:1
怎么回事啊?
TCHAR szTiemEnd[MAX_PATH] = {(0)};
wsprintf(szItem,_T("%04u-%02u-%02u %02u:%02u:%02u"),
pRec->m_tmBegin.wYear,pRec->m_tmBegin.wMonth,pRec->m_tmBegin.wDay,
pRec->m_tmBegin.wHour,pRec->m_tmBegin.wMinute,pRec->m_tmBegin.wSecond);
wsprintf(szTiemEnd,_T("%04u-%02u-%02u %02u:%02u:%02u"),
pRec->m_tmEnd.wYear,pRec->m_tmEnd.wMonth,pRec->m_tmEnd.wDay,
pRec->m_tmEnd.wHour,pRec->m_tmEnd.wMinute,pRec->m_tmEnd.wSecond);
DemoInfo("Messile:%s, begTime:%s, endTime:%s, Desc:%s, Type:%s",pRec->m_szCamera, szItem, szTiemEnd, pRec->m_szRecDesc, pRec->m_szRecType);
我想把时间格式化后通过DemoInfo定向到log里去,但是怎么begTime和endTime运行结果都不是2012-04-18 16:13:25的形式,而是两个整数2啊?log里面的结果为:
Messile:白杨-III, begTime:2, endTime:2, Desc:, Type:1
怎么回事啊?
CString str;
str.Format(L"%d-%02d-%02d",year,month,day);
这是Unicode。CString类很好。
如果需要转换成ascii,可以写一个CStr类,通过WideCharToMultiByte函数完成。