关于取时间差的有关问题!求!

关于取时间差的问题!急求!!
我首先取了本机时间:
CTime   t   =   CTime::GetCurrentTime();
char   szTime[14];
sprintf(szTime, "%04d%02d%02d%02d%02d%02d ",t.GetYear(),t.GetMonth(),t.GetDay(),t.GetHour(),t.GetMinute(),t.GetSecond());

然后又从服务器得到时间:
放在char   szTimeDate[14];

两个时间格式与位数都一样,现在我想求这两个时间的时间差,求得的结果以毫秒为单位,不知道应该怎么写,请高手们详细指点,我是新手!!



------解决方案--------------------
void
CookTime(TCHAR * tszDest, const TCHAR * tszSrc)
{
tszDest[4] = _T( '- ');
tszDest[7] = _T( '- ');
tszDest[10] = _T( ' ');
tszDest[13] = _T( ': ');
tszDest[16] = _T( ': ');

for (long i = 0; i < 20; ++i)
{
if (i == 4 ||
i == 7 ||
i == 10 ||
i == 13 ||
i == 16)
{
continue;
}
tszDest[i] = *tszSrc++;
}

}

__int64
CalcSeconds(TCHAR * pLocal, TCHAR * pSys)
{
COleDateTime tmLocal, tmSys;
TCHAR tszCookTime[32] = {0};

CookTime(tszCookTime, pLocal);
tmLocal.ParseDateTime(tszCookTime);
CookTime(tszCookTime, pSys);
tmSys.ParseDateTime(tszCookTime);

COleDateTimeSpan tmSpan = tmSys - tmLocal;
return (__int64)tmSpan.GetTotalSeconds();
}

刚写的,测试通过