函数实现DATE sscanftime(const TCHAR* ptszTime)
{
TCHAR szBuf[1024] = {0};
TCHAR szMonth[1024] = {0};
TCHAR str2int[12][256] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"};
int iYear = 0;
int iMonth = 0;
int iDay = 0;
int iHour = 0;
int iMinut = 0;
int iSecon = 0;
_stscanf(ptszTime,_T("%s %s %d %d:%d:%d %s %d"),szBuf, szMonth, &iDay, &iHour,&iMinut,&iSecon, &szBuf, &iYear);
for(int i = 0; i < 12; ++i)
{
if(_tcscmp(szMonth, str2int[i]) == 0)
iMonth = i + 1;
}
return COleDateTime(iYear, iMonth, iDay, iHour, iMinut, iSecon);
}
测试:
TCHAR szBuf[] = "Fri Dec 12 14:31:56 BEIST 2008";
DATE dt = sscanftime(szBuf); COleDateTime odt = dt; TRACE("%s\n", odt.Format("%a %b %d %H:%M:%S %Z %Y"));
{
TCHAR szBuf[1024] = {0};
TCHAR szMonth[1024] = {0};
TCHAR str2int[12][256] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"};
int iYear = 0;
int iMonth = 0;
int iDay = 0;
int iHour = 0;
int iMinut = 0;
int iSecon = 0;
_stscanf(ptszTime,_T("%s %s %d %d:%d:%d %s %d"),szBuf, szMonth, &iDay, &iHour,&iMinut,&iSecon, &szBuf, &iYear);
for(int i = 0; i < 12; ++i)
{
if(_tcscmp(szMonth, str2int[i]) == 0)
iMonth = i + 1;
}
return COleDateTime(iYear, iMonth, iDay, iHour, iMinut, iSecon);
}
测试:
TCHAR szBuf[] = "Fri Dec 12 14:31:56 BEIST 2008";
DATE dt = sscanftime(szBuf); COleDateTime odt = dt; TRACE("%s\n", odt.Format("%a %b %d %H:%M:%S %Z %Y"));
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货