timespec_get

来自cppreference.com
< c‎ | chrono
定义于头文件 <time.h>
int timespec_get( struct timespec *ts, int base)
(C11 起)
#define TIME_UTC /* implementation-defined */
(C11 起)
1) 修改 ts 所指向的 struct timespec 对象,以保有以时间基底 base 表示的当前日历时间。
2) 展开成适用作 timespec_getbase 参数的值。

实现可以提供其他以 TIME_ 为首的宏常量,以指示时间基底。

base 等于 TIME_UTC ,则

  • ts->tv_sec会被设成实现定义的纪元后的秒数,截断到整数值。
  • ts->tv_nsec 成员会被设成纳秒数的整数值,按照系统时钟的解析度舍入。

目录

[编辑] 参数

ts - 指向 struct timespec 类型对象的指针
base - TIME_UTC 或其他任何指示时间基底的非零整数值

[编辑] 返回值

成功是返回base的值,否则返回零。

[编辑] 注意

POSIX 函数 clock_gettime(CLOCK_REALTIME, ts) 亦可用于将从纪元开始的时间传达给 struct timespec

[编辑] 示例

#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 standard (ISO/IEC 9899:2011):
  • 7.27.2.5 The timespec_get function (p: 390)

[编辑] 参阅

(C11 起)
单位为秒和纳秒的时间
(结构体) [编辑]
返回纪元开始经过的当前系统日历时间
(函数) [编辑]
timespec_getC++ 文档