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

timespec_get函数


概要:
#include <time.h>
int timespec_get(struct timespec *ts, int base);

描述:

该函数设置参数ts指向的间隔时间,以保存基于参数base指定时间基准的当前日历时间。

如果参数baseTIME_UTC,结构成员ts->tv_sec设置为自实现定义时间以来的秒数,并截断为整数值;结构成员ts->tv_nsec设置为单位是纳秒的整数,并舍入到系统时钟的分辨率。尽管struct timespec类型对象使用纳秒分辨率描述时间,但实际分辨率与系统有关,甚至可能大于1秒。

TIME_UTC外,实现还可能提供其它时间基准。


参数:
struct timespec *ts

参数为一个指向struct timespec类型对象的指针。

int base

参数为宏TIME_UTC或者其它表示时间基准的非0整数值。


返回值:

如果调用成功,函数返回非0base;否则函数返回0


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
/*函数timespec_get范例*/

#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编译。


相关内容:
struct timespec 表示时间的结构类型。
TIME_UTC 表示以UTC时间为基准的整数常量的宏。