首页 > 代码库 > 时间相关函数
时间相关函数
1.简介
在C中可以使用gettimeofday()来获取时间
2.函数原型
#include<sys/time.h> int gettimeofday(struct timeval*tv,struct timezone *tz )
3.说明
gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息则放到tz所指的结构中timeval
4.相关结构体
struct timeval
{
long tv_sec;/*秒*/
long tv_usec;/*微妙*/
};
struct timezone
{
int tz_minuteswest;/*和greenwich 时间差了多少分钟*/
int tz_dsttime;/*type of DST correction*/
}
在gettimeofday()函数中tv或者tz都可以为空。如果为空则就不返回其对应的结构体。函数执行成功后返回0,失败后返回-1,错误代码存于errno中。
5.实例一
#include<stdio.h> #include<sys/time.h> #include<unistd.h> int main() { struct timeval tv; struct timezone tz; gettimeofday(&tv,&tz); printf(“tv_sec:%d\n”,tv.tv_sec); printf(“tv_usec:%d\n”,tv.tv_usec); printf(“tz_minuteswest:%d\n”,tz.tz_minuteswest); printf(“tz_dsttime:%d\n”,tz.tz_dsttime); }
运行结果:
tv_sec:1502078425
tv_usec:920295
tz_minuteswest:-480
tz_dsttime:0
说明:在使用gettimeofday()函数时,第二个参数一般都为空,因为我们一般都只是为了获得当前时间,而不用获得timezone的数值
实例二 测程序的大致执行时间
#include<stdio.h> #include<sys/time.h> #include<unistd.h> int delay(int time) { int i,j; for(i =0;i<time;i++) for(j=0;j<5000;j++) ; } int main() { struct timeval start; struct timeval end; unsigned long diff; gettimeofday(&start,NULL); delay(10); gettimeofday(&end,NULL); diff = 1000000 * (end.tv_sec-start.tv_sec)+ end.tv_usec-start.tv_usec; printf(“thedifference is %ld\n”,diff); return 0; }
时间相关函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。