time_t time(time_t * timer) 在头文件将long定义为time_t.获得日历时间(从1970年1月1日零点到现在的秒数)
structtm *gmtime(const time_t *timer);格林威治时间
structtm *localtime(const time_t *timer);本地时间
char*asctime (const struct tm * timer);tm结构体中储存的时间转换为字符串字符串格式返回
char*ctime(const time_t *time);把秒数转换为显示时间的字符串
int main(void)
{
time_t timer;//time_t就是long int 类型
struct tm *local;
timer = time(NULL);//这一句也可以改成time(&timer);
local = localtime(&timer);
printf("Local time is: %s\n",asctime(local));
printf("Local time is: %s\n",ctime(&timer));
return 0;
}
int gettimeofday(struct timeval*tv,struct timezone *tz);其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果,timezone参数若不使用则传入NULL即可。而结构体timeval的定义为:
struct timeval
{
long int tv_sec; // 秒数
long int tv_usec; // 微秒数
}
在一段代码前后分别使用gettimeofday可以2计算代码执行时间。
unsigned int sleep(unsigned int seconds);若进程/线程挂起到参数所指定的时间则返回0,若有信号中断则返回剩余秒数。
float time_use=0;
struct timeval start;
struct timeval end;
gettimeofday(&start,NULL); //gettimeofday(&start,&tz);结果一样
sleep(3);
gettimeofday(&end,NULL);
time_use=(end.tv_sec-start.tv_sec)*1000000+(end.tv_usec-start.tv_usec);//微秒
阅读(1496) | 评论(0) | 转发(0) |