std::chrono::time_point

来自cppreference.com
< cpp‎ | chrono
 
 
 
 
 
定义于头文件 <chrono>
template<

    class Clock,
    class Duration = typename Clock::duration

> class time_point;
(C++11 起)

类模板 std::chrono::time_point 表示时间中的一个点。它实现如同存储一个 Duration 类型的值,它指示从 Clock 的纪元起的时间间隔。

目录

[编辑] 成员类型

成员类型 定义
clock Clock ,此时间点计量于此时钟上
duration Duration ,用于计量从纪元起时间的 std::chrono::duration 类型
rep Rep ,表示时期的计次数的算术类型
period Period ,表示时期周期的 std::ratio 类型

[编辑] 成员函数

构造了一个新的时间点
原文:
constructs a new time point
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(公开成员函数) [编辑]
返回的持续时间的时间点,因为它的时钟的开始
原文:
returns the time point as duration since the start of its clock
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(公开成员函数) [编辑]
修改的时间点,由给定的持续时间
原文:
modifies the time point by the given duration
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(公开成员函数) [编辑]
[静态]
返回的时间点相对应的最小持续时间
原文:
returns the time point corresponding to the smallest duration
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(公开静态成员函数) [编辑]
[静态]
returns the time point corresponding to the largest duration
(公开静态成员函数) [编辑]

[编辑] 非成员函数

特化 std::common_type 特性
(类模板特化) [编辑]
以给定的 duration 修改 time_point
(函数模板) [编辑]
比较两个时间点
(函数模板) [编辑]
converts a time point to another time point on the same clock, with a different duration
(函数模板) [编辑]
转换 time_point 到另一个,向下取整
(函数模板) [编辑]
转换 time_point 到另一个,向上取整
(函数模板) [编辑]
转换 time_point 到另一个,取整至最接近者,偶数优先
(函数模板) [编辑]

[编辑] 示例

#include <iostream>
#include <iomanip>
#include <ctime>
#include <chrono>
 
int main()
{
    std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
    std::time_t now_c = std::chrono::system_clock::to_time_t(now - std::chrono::hours(24));
    std::cout << "24 hours ago, the time was "
              << std::put_time(std::localtime(&now_c), "%F %T") << '\n';
 
    std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();
    std::cout << "Hello World\n";
    std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
    std::cout << "Printing took "
              << std::chrono::duration_cast<std::chrono::microseconds>(end - start).count()
              << "us.\n";
}

可能的输出:

24 hours ago, the time was 2011-10-25 12:00:08
Hello World
Printing took 84us.

[编辑] 参阅

(C++11)
时间间隔
(类模板)