timespec_get

来自cppreference.com
< c‎ | chrono
在标头 <time.h> 定义
int timespec_get(struct timespec *ts, int base );
(1) (C11 起)
#define TIME_UTC /* 由实现定义 */
(2) (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) 亦可用于将从纪元开始的时间填入 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("当前时间: %s.%09ld UTC\n", buff, ts.tv_nsec);}

输出:

当前时间: 02/18/15 14:34:03.048508855 UTC

[编辑]引用

  • C23 标准(ISO/IEC 9899:2024):
  • 7.27.2.5 The timespec_get function (第 TBD 页)
  • C17 标准(ISO/IEC 9899:2018):
  • 7.27.2.5 The timespec_get function (第 286 页)
  • C11 标准(ISO/IEC 9899:2011):
  • 7.27.2.5 The timespec_get function (第 390 页)

[编辑]参阅

单位为秒和纳秒的时间
(结构体)[编辑]
返回基于给定时间基底的日历时间的解析度
(函数)[编辑]
返回纪元开始经过的当前系统日历时间
(函数)[编辑]
timespec_get 的 C++ 文档
close