zoukankan      html  css  js  c++  java
  • Linux: Linux C 获取当前系统时间的时间戳(精确到秒、毫秒、微秒) gettimeofday

    说明

    获取当前的时间的秒数和微秒数本方法需要用到 gettimeofday() 函数,该函数需要引入的头文件是  <sys/time.h>  。

    函数说明 int gettimeofday (struct timeval * tv, struct timezone * tz)

    1、返回值:该函数成功时返回0,失败时返回-1 
    2、参数 
    struct timeval{ 
      long tv_sec; //
      long tv_usec; //微秒 
    }; 
    struct timezone 
    { 
      int tz_minuteswest; //和Greenwich 时间差了多少分钟 
      int tz_dsttime; //日光节约时间的状态 
    }; 

    示例

    #include <sys/time.h>
    #include <stdio.h>
    #include <unistd.h>
    
    
    int main()
    {
        
        struct timeval tv;
        gettimeofday(&tv, NULL);
        
        printf("second: %ld
    ", tv.tv_sec); //
        printf("millisecond: %ld
    ", tv.tv_sec * 1000 + tv.tv_usec / 1000); // 毫秒
        printf("microsecond: %ld
    ", tv.tv_sec * 1000000 + tv.tv_usec); // 徽秒
        
        sleep(3); // 让程序休眠3秒
        printf("---------------------sleep 3 second-------------------
    ");
        
        gettimeofday(&tv, NULL);
            
        printf("second: %ld
    ", tv.tv_sec); //
        printf("millisecond: %ld
    ", tv.tv_sec * 1000 + tv.tv_usec / 1000); // 毫秒
        printf("microsecond: %ld
    ", tv.tv_sec * 1000000 + tv.tv_usec); // 徽秒
    
        return 0;
    }

    运行结果:

    second: 1554963664
    millisecond: 1554963664748
    microsecond: 1554963664748007
    ---------------------sleep 3 second-------------------
    second: 1554963667
    millisecond: 1554963667748
    microsecond: 1554963667748621

  • 相关阅读:
    sky A800s手机恢复出厂设置操作
    SlimDx绘制点图元的问题
    自定义Token的CAS登录
    未来谁才是移动互联网的入口?
    [Oracle]Sqlplus连接成功,但pl/sql连接不成功,提示“ora-12145:无法解析指定的连接标识符”
    memcached分布式内存系统
    Android下结束进程的方法
    博客搬家啦~
    NOIp2013火柴排队
    NOIp2014 T2联合权值
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/10689534.html
Copyright © 2011-2022 走看看