timespec_get
timespec_get
在头文件 | | |
---|---|---|
int timespec_get(struct timespec * ts,int base) | | (自C11以来) |
#define TIME_UTC / *实现定义的* / | | (自C11以来) |
1)修改timespec
指向的对象以ts
在时基中保存当前日历时间base
。
2)扩展为适合用作base
参数的值timespec_get
其他的宏常量TIME_
可以由实现提供,以指示附加的时基。
如果base
是TIME_UTC
,那么。
- ts-> tv_sec被设置为自实现定义时期以来的秒数,被截断为整个值
参数
TS | - | 指向struct timespec类型的对象的指针 |
---|---|---|
基础 | - | TIME_UTC或指示时基的另一个非零整数值 |
返回值
base
成功的价值,否则为零。
笔记
POSIX函数clock_gettime(CLOCK_REALTIME,ts)也可以用来填充timespec
自Epoch以来的时间。
例
#include <stdio.h>
#include <time.h>
int main(void)
{
struct timespec ts;
timespec_get(&ts, TIME_UTC
char buff[100];
strftime(buff, sizeof buff, "%D %T", gmtime(&ts.tv_sec)
printf("Current time: %s.%09ld UTC\n", buff, ts.tv_nsec
}
输出:
Current time: 02/18/15 14:34:03.048508855 UTC
参考
- C11标准(ISO / IEC 9899:2011):