命名空间
变体
操作

std::timespec_get

来自 cppreference.com
< cpp‎ | chrono‎ | c
 
 
实用程序库
语言支持
类型支持 (基本类型,RTTI)
库特性测试宏 (C++20)
动态内存管理
程序实用程序
协程支持 (C++20)
可变参数函数
调试支持
(C++26)
三元比较
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
通用实用程序
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中已弃用)
整数比较函数
(C++20)(C++20)(C++20)   
(C++20)
交换类型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
通用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
基本字符串转换
(C++17)
(C++17)

 
 
 
在头文件 <ctime> 中定义
int timespec_get( std::timespec* ts, int base );
(1) (自 C++17 起)
#define TIME_UTC /* 实现定义 */
(2) (自 C++17 起)
1) 修改由 ts 指向的 std::timespec 对象,以包含时间基准 base 中的当前日历时间。
2) 展开为适合用作 std::timespec_getbase 参数的值。

实现可能会提供以 TIME_ 开头的其他宏常量,以指示其他时间基准。

如果 baseTIME_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 << "Current time: " << buf << '.' << ts.tv_nsec << " UTC\n";
}

可能的输出

Current time: 06/24/16 20:07:42.949494132 UTC

[编辑] 参见

(C++17)
以秒和纳秒为单位的时间
(结构)[编辑]
返回系统当前时间,表示自纪元以来的时间
(函数) [编辑]
C 文档 for timespec_get