- //2008-12-11T13:20:09.74
- tm tmTmp;
- ZeroMemory( &tmTmp,sizeof(tm) );
- tmTmp.tm_year = _ttoi( lpstr );
- tmTmp.tm_year = (tmTmp.tm_year-1970) + 70;
- tmTmp.tm_mon = _ttoi( lpstr + 5 );
- tmTmp.tm_mday = _ttoi( lpstr + 8 );
- tmTmp.tm_hour = _ttoi( lpstr + 11 );
- tmTmp.tm_min = _ttoi( lpstr + 14 );
- tmTmp.tm_sec = _ttoi( lpstr + 17 );
-
time_t timeTmp = mktime( &tmTmp );
如上代码:我程序中的时间为32位.所以,对年份有特殊的要求.直接放入2008会导致年份超出范围而返回-1 (在12行处).
在32位时间中范围为:1970 - 2038 ,对应的,最小为 70 ,最大为 138.
希望大家能GOOGLE到此,少些麻烦.