在线文档教程
C++
应用 | Utilities

Date and time utilities

日期和时间效用

C++包括对两种时间操作的支持:

  • chrono库,它是一个灵活的类型集合,可以跟踪不同精度的时间(%28等)。std::chrono::time_point29%。

  • C样式的日期和时间库%28例如。std::time%29

chrono图书馆

chrono库定义了三种主要类型%28持续时间、时钟和时间点%29以及实用程序函数和常见类型。

持续时间

持续时间由一段时间组成,定义为某一时间单位的若干个刻度。例如,“42秒”可以由一个1秒单位的42个刻度组成的持续时间表示。

在标头中定义<chrono>

*。

在命名空间std::timeo中定义

持续时间%28C++11%29 a时间间隔%28类模板%29

时钟由起点%28或纪元%29和滴答率组成。例如,一个时钟可能有一个1970年1月1日的时代,并且每秒钟都会滴答作响。C++定义了三种时钟类型:

在标头中定义<chrono>

*。

在命名空间std::timeo中定义

系统[医]时钟%28C++11%29来自系统范围内的实时时钟%28class%29

稳住[医]永远不会调整的时钟%28C++11%29

高[医]分辨力[医]时钟%28C++11%29具有最短的刻度周期的时钟%28C++11%29

时间点

时间点是指自特定时钟时代以来过去的时间。

在标头中定义<chrono>

*。

在命名空间std::timeo中定义

时间[医]时间点%28C++11%29 a点%28类模板%29

C风格的日期和时间库

还提供了C样式的日期和时间函数,如std::time_t,,,std::difftimeCLOCKS_PER_SEC...

此示例显示有关函数调用的执行时间的信息:

二次

#include <iostream> #include <chrono> #include <ctime> long fibonacci(unsigned n) { if (n < 2) return n; 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( std::cout << "f(42) = " << fibonacci(42) << '\n'; end = std::chrono::system_clock::now( std::chrono::duration<double> elapsed_seconds = end-start; 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.count() << "s\n"; }

二次

可能的产出:

二次

f(42) = 267914296 finished computation at Mon Jul 29 08:41:09 2013 elapsed time: 0.670427s

二次

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/chrono