• C语言获取当前时间


    1 使用time_t time( time_t * timer ) 精确到秒

    头文件:time.h

    函数原型:time_t time(time_t * timer)

    功能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。

    1. time_t time1;
    2. time(&time1);

    2 使用clock_t clock() 得到的是CPU时间 精确到1/CLOCKS_PER_SEC秒

    clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。

    对clock函数定义如下:clock_t clock(void) ;

    简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型,在time.h文件中

    1. clock_t start, finish;
    2. start = clock();

    上面我们看到时钟计时单元的长度为1毫秒,那么计时的精度也为1毫秒,那么我们可不可以通过改变CLOCKS_PER_SEC的定义,通过把它定义的大一些,从而使计时精度更高呢?通过尝试,你会发现这样是不行的。在标准C/C++中,最小的计时单位是一毫秒。

    3 计算时间差使用double difftime( time_t timer1, time_t timer0 )

    4 使用DWORD GetTickCount() 精确到毫秒

    GetTickCount(),这个是windows里面常用来计算程序运行时间的函数;

    DWORD dwStart = GetTickCount();

    //这里运行你的程序代码

    DWORD dwEnd = GetTickCount();

    则(dwEnd-dwStart)就是你的程序运行时间, 以毫秒为单位

    这个函数只精确到55ms,1个tick就是55ms。

    5 要获取高精度时间,可以使用

    BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)

    获取系统的计数器的频率

    BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)

    获取计数器的值

    然后用两次计数器的差除以Frequency就得到时间。

  • 相关阅读:
    Docker consul的容器服务更新与发现
    SQL之join的简单用法
    耶幕上门推拿平台系统开发解析
    自学Python第二十三天- redis 库
    哪些品牌蓝牙耳机适合学生党?平价又好用的蓝牙耳机推荐
    社区动态——恭喜海豚调度中国区用户组新晋 9 枚“社群管理员”
    微信公众号基本配置之服务器配置
    Vulfocus复现log4j2和vulhub复现log4j2(CVE-2021-44228)
    一个完整的flutter组件开发的过程
    前端如何mock数据
  • 原文地址:https://blog.csdn.net/xiaowang_lj/article/details/126359558