名前空間
変種
操作

std::timespec_get

From cppreference.com
< cpp‎ | chrono‎ | c
 
 
 
 
ヘッダ <ctime> で定義
int timespec_get( std::timespec* ts, int base );
(1) (C++17以降)
#define TIME_UTC /* 処理系定義 */
(2) (C++17以降)
1) ts が指す std::timespec オブジェクトを、時間ベース base における現在のカレンダー時刻を保持するように変更する。
2) std::timespec_getbase 引数として使用するのに適した値に展開される。

TIME_ で始まる他のマクロ定数は、追加の時間ベースを示すために処理系によって提供される場合がある。

baseTIME_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)
English 日本語 中文(简体) 中文(繁體)