码迷,mamicode.com
首页 > 系统相关 > 详细

linux c 时间函数

时间:2018-10-10 14:15:14      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:linux   thread   cti   real   val   mes   long   end   操作   

1、 time() 函数提供了 秒 级的精确度

time_t time(time_t * timer)
函数返回从UTC1970-1-1 0:0:0开始到现在的秒数

2、 struct timespec 提供了 ns  级的精确度

定义如下:

typedef long time_t;
#ifndef _TIMESPEC
#define _TIMESPEC
struct timespec {
  time_t tv_sec; // seconds
  long tv_nsec; // and nanoseconds
};
#endif

对应的操作函数为

int clock_gettime(clockid_t, struct timespec *)

其中 clockid_t 为使用的时钟,主要有以下四种:

CLOCK_REALTIME    统当前时间,从1970年1.1日算起
CLOCK_MONOTONIC  系统的启动时间,不能被设置
CLOCK_PROCESS_CPUTIME_ID 本进程运行时间
CLOCK_THREAD_CPUTIME_ID 本线程运行时间

3、struct timeval 提供了 us 级 的精确度

struct timeval {
  time_t tv_sec; // seconds
  long tv_usec; // microseconds
};

对应的操作函数为

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

其中 timezone 为时区,定义如下:

struct timezone{
  int tz_minuteswest; //miniutes west of Greenwich
  int tz_dsttime; //type of DST correction
};

一般时区填写为 NULL即可。

 

linux c 时间函数

标签:linux   thread   cti   real   val   mes   long   end   操作   

原文地址:https://www.cnblogs.com/rohens-hbg/p/9765544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!