std::timespec_get
来自cppreference.com
在标头 <ctime> 定义 | ||
int timespec_get(std::timespec* ts, int base ); | (1) | (C++17 起) |
#define TIME_UTC /* 由实现定义 */ | (2) | (C++17 起) |
2) 展开成适合用作
std::timespec_get
的 base 实参的值。实现可提供其他以 TIME_
起始的宏常量,以指示另外的时间基底。
若 base 为 TIME_UTC
,则
- 设 ts->tv_sec 为从实现定义的纪元开始的秒数,截断到整数值
- 设 ts->tv_nsec 成员为纳秒的整数,取整到系统时钟的分辨率
目录 |
[编辑]参数
ts | - | 指向 std::timespec 类型对象的指针 |
base | - | TIME_UTC 或另一指示时间基底的非零整数值 |
[编辑]返回值
若成功则为 base 的值,否则为零。
[编辑]注解
POSIX 函数 clock_gettime(CLOCK_REALTIME, ts)
亦可用于将从纪元开始的时间植入 std::timespec
。
[编辑]示例
运行此代码
#include <ctime>#include <iostream> int main(){std::timespec ts; std::timespec_get(&ts, TIME_UTC);char buf[100];std::strftime(buf, sizeof buf, "%D %T", std::gmtime(&ts.tv_sec));std::cout<<"当前时间: "<< buf <<'.'<< ts.tv_nsec<<" UTC\n";}
可能的输出:
当前时间: 06/24/16 20:07:42.949494132 UTC
[编辑]参阅
(C++17) | 以秒和纳秒表示的时间 (结构体) |
返回自纪元起计的系统当前时间 (函数) | |
timespec_get 的 C 文档 |