时间相关函数

 

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;
       
}
复制代码

 

posted on   Hello-World3  阅读(2580)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示