- chrono[meta header]
- std::chrono[meta namespace]
- class[meta id-type]
- cpp11[meta cpp]
namespace std {
namespace chrono {
class system_clock;
}}system_clockは、システム時間を表現するためのクロックである。
このクラスは、time_t型と互換性がある。
C++17 以前の場合、system_clock のエポックがどの時間を指しているかは未規定だが、ほとんどの処理系は Unix 時間(1970年1月1日0時0分0秒)を指している。
C++20 以降の場合、system_clock のエポックは必ず Unix 時間を指す。
| 名前 | 説明 | 対応バージョン |
|---|---|---|
now |
現在日時の取得 | C++11 |
to_time_t |
time_tへの変換 |
C++11 |
from_time_t |
time_tからの変換 |
C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
rep |
時間間隔の内部表現となる算術型 | C++11 |
period |
時間の周期を表すratio型 |
C++11 |
duration |
時間間隔の型 | C++11 |
time_point |
時間の一点を指す型 | C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
static const bool is_steady |
逆行しないクロックかどうかを表すbool値。値は未規定。 |
C++11まで |
static constexpr bool is_steady |
逆行しないクロックかどうかを表すbool値。値は未規定。 |
C++14から |
#include <iostream>
#include <chrono>
#include <ctime>
using namespace std::chrono;
int main()
{
// 現在日時を取得
system_clock::time_point p = system_clock::now();
// time_tに変換して出力
std::time_t t = system_clock::to_time_t(p);
std::cout << std::ctime(&t) << std::endl;
}- now()[link system_clock/now.md]
- to_time_t[link system_clock/to_time_t.md]
Tue Oct 16 15:00:08 2012
- C++11
- GCC, C++11 mode: 4.6.1
- Visual C++: 2012, 2013, 2015