ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux c 获取时间戳

2020-02-06 19:44:30  阅读:282  来源: 互联网

标签:ld struct tv linux 获取 second sec printf 时间


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

函数说明

 int gettimeofday (struct timeval * tv, struct timezone * tz)

返回值:该函数成功时返回0,失败时返回-1

参数

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\n", tv.tv_sec); // 秒
    printf("millisecond: %ld\n", tv.tv_sec * 1000 + tv.tv_usec / 1000); // 毫秒
    printf("microsecond: %ld\n", tv.tv_sec * 1000000 + tv.tv_usec); // 徽秒
    
    sleep(3); // 让程序休眠3秒
    printf("---------------------sleep 3 second-------------------\n");
    
    gettimeofday(&tv, NULL);
        
    printf("second: %ld\n", tv.tv_sec); // 秒
    printf("millisecond: %ld\n", tv.tv_sec * 1000 + tv.tv_usec / 1000); // 毫秒
    printf("microsecond: %ld\n", tv.tv_sec * 1000000 + tv.tv_usec); // 徽秒

    return 0;
}

运行结果:

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

 

 

whatday 发布了57 篇原创文章 · 获赞 550 · 访问量 489万+ 他的留言板 关注

标签:ld,struct,tv,linux,获取,second,sec,printf,时间
来源: https://blog.csdn.net/whatday/article/details/104200754

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有