- 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