©
This document uses PHP Chinese website manual Release
在头文件<time.h>中定义 | ||
---|---|---|
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-> tv_nsec成员设置为纳秒的整数倍数,取整为系统时钟的分辨率
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):
7.27.2.5 timespec_get函数(p:390)