天天看点

linux timeval获取时间,linux下时间的转换 timeval /time_t time_t/tm

#include

#include

//#include

#include

#include

#include

int main (int argc, char *argv[])

{

struct    timeval t_startrun, t_endrun;

int flag = 0;

char   timef[100];

time_t   t;

struct   tm   *today;

for( int i = 0 ; i < 1000 ; i++ )

{

gettimeofday(&t_startrun, 0 );

usleep(1000000);

gettimeofday(&t_endrun, 0);

//printf("The program's running time is %ld ms! ",100);

//printf("The program's running time is ms!");

//(( t_endrun.tv_sec - t_startrun.tv_sec)*100000 + t_endrun.tv_usec - t_startrun.tv_usec) / 1000 );

long ltime = (( t_endrun.tv_sec - t_startrun.tv_sec)*1000000 + t_endrun.tv_usec - t_startrun.tv_usec) / 1000 ;

if( ltime < 0 )

{

printf("t_endrun.tv_sec = %d - t_startrun.tv_sec = %d,"

"t_endrun.tv_usec = %d - t_startrun.tv_usec = %d/r/n",

t_endrun.tv_sec , t_startrun.tv_sec,

t_endrun.tv_usec , t_startrun.tv_usec);

}

t = t_endrun.tv_sec;

today   =   localtime(&t);

strftime(timef,100, "%Y-%m-%d   %H:%M:%S ",today);

printf( "%d-%d,%d,%s/r/n ",t_endrun.tv_sec,t_endrun.tv_usec,t,timef);

printf("The program's running time is %ld ms!/r/n ",ltime);

fflush(stdout);

}

return 0;

}