加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux: Linux C 获取当前系统时间的时间戳(精确到秒、毫秒、微秒

发布时间:2020-12-14 01:42:47 所属栏目:Linux 来源:网络整理
导读:说明 获取当前的时间的秒数和微秒数本方法需要用到? gettimeofday() ?函数,该函数需要引入的头文件是? sys/time.h ?。 函数说明 int gettimeofday (struct timeval * tv,struct timezone * tz) 1 、返回值:该函数成功时返回0,失败时返回- 1 2 、参数 stru

说明

获取当前的时间的秒数和微秒数本方法需要用到?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: %ldn",tv.tv_sec); //
    printf("millisecond: %ldn",tv.tv_sec * 1000 + tv.tv_usec / 1000); // 毫秒
    printf("microsecond: %ldn",tv.tv_sec * 1000000 + tv.tv_usec); // 徽秒
    
    sleep(3); // 让程序休眠3秒
    printf("---------------------sleep 3 second-------------------n");
    
    gettimeofday(&tv,NULL);
        
    printf("second: %ldn",tv.tv_sec * 1000000 + tv.tv_usec); // 徽秒

    return 0;
}

运行结果:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读