std::timespec_get
From cppreference.com
| ヘッダ <ctime> で定義 |
||
| int timespec_get( std::timespec* ts, int base ); |
(1) | (C++17以降) |
| #define TIME_UTC /* 処理系定義 */ |
(2) | (C++17以降) |
2)
std::timespec_get の base 引数として使用するのに適した値に展開される。TIME_ で始まる他のマクロ定数は、追加の時間ベースを示すために処理系によって提供される場合がある。
base が TIME_UTC の場合、
- ts->tv_sec は、処理系定義のエポックからの秒数に設定され、整数値に切り詰められる。
- ts->tv_nsec メンバは、システムクロックの分解能に丸められた、ナノ秒の整数値に設定される。
目次 |
[編集] パラメータ
| ts | - | std::timespec 型のオブジェクトへのポインタ |
| base | - | TIME_UTC または時間ベースを示す別の非ゼロの整数値 |
[編集] 戻り値
成功した場合は base の値、それ以外の場合はゼロ。
[編集] 備考
POSIX 関数 clock_gettime(CLOCK_REALTIME, ts) も、エポックからの時間で std::timespec を埋めるために使用できる。
[編集] 例
このコードを実行
#include <ctime> #include <iostream> int main() { std::timespec ts; std::timespec_get(&ts, TIME_UTC); char buf[100]; std::strftime(buf, sizeof buf, "%D %T", std::gmtime(&ts.tv_sec)); std::cout << "Current time: " << buf << '.' << ts.tv_nsec << " UTC\n"; }
実行結果の例
Current time: 06/24/16 20:07:42.949494132 UTC
[編集] 関連項目
| (C++17) |
秒とナノ秒での時間 (構造体) |
| システムのエポックからの現在の時刻を返す (関数) | |
| C ドキュメント (timespec_get)
| |