我正在使用下面的方法來驗證日期。 如何在字符串中格式化月份?DateTime Validation as 25-Jul-2012 15:08:23
bool CDateTime :: IsValidDate(char* pcDate) //pcDate = 25-Jul-2012 15:08:23
{
bool bVal = true;
int iRet = 0;
struct tm tmNewTime;
iRet = sscanf_s(pcDate, "%d-%d-%d %d:%d:%d", &tmNewTime.tm_mon, &tmNewTime.tm_mday, &tmNewTime.tm_year, &tmNewTime.tm_hour, &tmNewTime.tm_min, &tmNewTime.tm_sec);
if (iRet == -1)
bVal = false;
if (bVal == true)
{
tmNewTime.tm_year -= 1900;
tmNewTime.tm_mon -= 1;
bVal = IsValidTm(&tmNewTime);
}
return bVal;
}
fyi,'struct tm tmNewTime;'中的'struct'在C++中是多餘的。 – chris 2012-07-25 06:20:29
您在sscanf_s語句中混合了「tm_mon」和「tm_year」。 – 2012-07-25 06:26:01
也許看看http://stackoverflow.com/questions/308390/convert-a-string-to-a-date-in-c? – 2012-07-25 06:29:26