int i, j; char *p; char cmd = "03:50:20"; char *cmd1 = cmd; int sec;for( i = 0; i < 3; i++ ) { p = cmd1; j = strpos( p, ':' ); if( j == -1 ) j = strlen( cmd ); cmd1 = p + ( unsigned int )j + 1; *( p + ( unsigned char )j ) = 0; if( j == 0 ) sec = atoi( p ) * 3600; else if( j == 1 ) sec += atoi( p ) * 60; else sec += atoi( p ); } 董否?
CString s = "03:15:08"; double time = 0.0; CString s2 = s.Right(5); int hour = atoi(s.Left(2)); int minute = atoi(s2.Left(2)); int second = atoi(s2.Right(2)); time = hour*3600+minute*60+second;
difftime函数是时间的比较,单位到秒.可以用一下
能将时间变量里面的小时,分钟,秒钟头提出来,下面就知道怎么算了吧totlesec=60*60*hour+60*min+sec
写的比较简略,函数也不一定写对了,查查msdn参考程序
CTime end;
int hour,min,sec,totlesec;
hour=end.GetHour();
min=end.GetMinute();
sec=end.GetSecond();
totlesec=60*60*hour+60*min+sec;
就搞定了,试试看。
char *p;
char cmd = "03:50:20";
char *cmd1 = cmd;
int sec;for( i = 0; i < 3; i++ )
{
p = cmd1;
j = strpos( p, ':' );
if( j == -1 )
j = strlen( cmd );
cmd1 = p + ( unsigned int )j + 1;
*( p + ( unsigned char )j ) = 0;
if( j == 0 )
sec = atoi( p ) * 3600;
else if( j == 1 )
sec += atoi( p ) * 60;
else
sec += atoi( p );
}
董否?
double time = 0.0;
CString s2 = s.Right(5);
int hour = atoi(s.Left(2));
int minute = atoi(s2.Left(2));
int second = atoi(s2.Right(2));
time = hour*3600+minute*60+second;