当前位置: C语言 -- 标准库 -- <time.h> -- struct timespec

struct timespec类型


描述:

该类型是一种结构类型,可以保存以秒和纳秒为单位的指定时间间隔,也可以表示基于特定纪元的日历时间。该类型至少包含以下两个结构成员,结构成员的语义及其范围如注释描述:

time_t tv_sec;	//整秒 -- ≥0
long tv_nsec;	//纳秒 -- [0,999999999]

结构成员tv_sec是秒的线性计数(linear count of seconds),并且可能没有time_t类型的正常语义。

上述两个成员在结构中的顺序ISO/IEC 9899:2018标准未作明确规定。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
/*类型struct timespec范例*/

#include <stdio.h>
#include <time.h>

#define LENGTH 80

int main(void)
{
    char buffer[LENGTH];
    struct timespec ts;

    timespec_get(&ts,TIME_UTC);
    strftime(buffer, sizeof(buffer),"%F %T", gmtime(&ts.tv_sec));
    printf("Current time:%s.%09ld UTC\n", buffer, ts.tv_nsec);

    return 0;
}


输出:

Current time:2017-06-29 11:21:03.790182200 UTC

:使用ideone编译。


相关内容:
TIME_UTC 表示以UTC时间为基准的整型常量的宏。
timespec_get 设置并保存基于指定时间基准的日历时间的函数。