std::chrono::time_point
cppreference.com
<tbody>
</tbody>
template< class Clock, class Duration = typename Clock::duration > class time_point; |
( C++11) | |
std::chrono::time_point . , Duration, Clock.
|
|
( C++23) |
-
clock
|
Clock, ,
|
duration
|
Duration, std::chrono::duration ,
|
rep
|
Rep, ,
|
period
|
Period, std::ratio,
|
-
| (public -) | |
| (public -) | |
| (public -) | |
| (public -) | |
[static] |
, (public static -) |
[static] |
, (public static -) |
,
(C++11) |
, ( ) |
(C++11)(C++11)( C++20)(C++11)(C++11)(C++11)(C++11)(C++20) |
( ) |
(C++11) |
( ) |
| time_point , ( ) | |
| time_point , ( ) | |
| time_point , , ( ) |
| std::common_type ( ) | |
| std::chrono::time_point ( ) |
#include <algorithm>
#include <chrono>
#include <ctime>
#include <iomanip>
#include <iostream>
void slow_motion()
{
static int a[] {1,2,3,4,5,6,7,8,9,10,11,12};
// (13) == 12! :
while (std::ranges::next_permutation(a).found) { }
}
int main()
{
using namespace std::literals; // ,
// 24h, 1ms, 1s.
const std::chrono::time_point<std::chrono::system_clock> now =
std::chrono::system_clock::now();
const std::time_t t_c = std::chrono::system_clock::to_time_t(now - 24h);
std::cout << "24 "
<< std::put_time(std::localtime(&t_c), "%F %T.\n") << std::flush;
const std::chrono::time_point<std::chrono::steady_clock> start =
std::chrono::steady_clock::now();
std::cout << " : \n"
<< " : " << now.time_since_epoch() << "\n"
<< " : " << start.time_since_epoch() << "\n";
slow_motion();
const auto end = std::chrono::steady_clock::now();
std::cout
<< " "
<< std::chrono::duration_cast<std::chrono::microseconds>(end - start).count()
<< " "
<< (end - start) / 1ms << " " // , ,
<< (end - start) / 1s << ".\n"; //
//
}
:
24 2021-02-15 18:28:52.
:
: 1666497022681282572
: 413668317434475
2090448 2090 2.
(C++11) |
( ) |
(C++20) |
, () |