Date and time utilities

来自cppreference.com
< cpp


C + +支持两种类型的操作时间:
原文:
C++ includes support for two types of time manipulation:
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
  • chrono库,灵活的收集跟踪时间的类型,不同的精确度(例如std::chrono::time_point
    原文:
    The chrono library, a flexible collection of types that track time with varying degrees of precision (e.g. std::chrono::time_point).
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
  • C-风格的日期和时间库(例如time
    原文:
    C-style date and time library (e.g. std::time)
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] NJ库

chrono库定义了三种主要的类型(持续时间,时钟和时间点),以及实用的功能和常见的类型定义.
原文:
The chrono library defines three main types (durations, clocks, and time points) as well as utility functions and common typedefs.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 持续时间

持续时间的时间跨度,定义为一定数量的蜱一段时间的单位。例如,“42秒”可以表示的组成的持续时间中的42的一个1秒的时间单元蜱.
原文:
A duration consists of a span of time, defined as some number of ticks of some time unit. For example, "42 seconds" could be represented by a duration consisting of 42 ticks of a 1-second time unit.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
定义于头文件 <chrono>
定义于命名空间 std::chrono
(C++11)
一个时间间隔
原文:
a time interval
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类模板) [编辑]

[编辑] 时钟

一个时钟由一个起点(或时代)和时钟速率。例如,时钟可以有一个具有划时代意义的1970年1月1日,并勾选每一秒。 C + +定义了三种时钟方式:
原文:
A clock consists of a starting point (or epoch) and a tick rate. For example, a clock may have an epoch of January 1, 1970 and tick every second. C++ defines three clock types:
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
定义于头文件 <chrono>
定义于命名空间 std::chrono
从系统获取的实时时钟
原文:
wall clock time from the system-wide realtime clock
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类) [编辑]
单调时钟将永远不会被调整
原文:
monotonic clock that will never be adjusted
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类) [编辑]
的时钟用最短的剔期
原文:
the clock with the shortest tick period available
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(类) [编辑]

[编辑] 时间点

时间点是一个持续的时间已经过去了时代的特定的时钟.
原文:
A time point is a duration of time that has passed since the epoch of specific clock.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
定义于头文件 <chrono>
定义于命名空间 std::chrono
a point in time
(类模板) [编辑]

[编辑] C-风格的日期和时间库

本发明还提供C风格的日期和时间的函数,如std::time_tstd::difftime,和CLOCKS_PER_SEC.
原文:
Also provided are the C-style date and time functions, such as std::time_t, std::difftime, and CLOCKS_PER_SEC.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 示例

这个例子显示一个函数调用的执行时间信息
原文:
This example displays information about the execution time of a function call:
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

#include <iostream>
#include <chrono>
#include <ctime>
 
int fibonacci(int n)
{
    if (n < 3) return 1;
    return fibonacci(n-1) + fibonacci(n-2);
}
 
int main()
{
    std::chrono::time_point<std::chrono::system_clock> start, end;
    start = std::chrono::system_clock::now();
    int result = fibonacci(42);
    end = std::chrono::system_clock::now();
 
    int elapsed_seconds = std::chrono::duration_cast<std::chrono::seconds>
                             (end-start).count();
    std::time_t end_time = std::chrono::system_clock::to_time_t(end);
 
    std::cout << "finished computation at " << std::ctime(&end_time)
              << "elapsed time: " << elapsed_seconds << "s\n";
}

可能的输出:

finished computation at Sat Jun 16 20:42:57 2012
elapsed time: 3s