名前空間
変種
操作

timespec_get

From cppreference.com
< c‎ | chrono
ヘッダー <time.h> で定義
int timespec_get( struct timespec *ts, int base );
(1) (C11 以降)
#define TIME_UTC /* 実装依存 */
(2) (C11 以降)
1) ts が指す timespec オブジェクトを、指定された時間基底 base における現在のカレンダー時刻で変更します。
2) timespec_getbase 引数として使用するのに適した値に展開されます。

実装によって、追加の時間基底を示す TIME_ で始まる他のマクロ定数が提供される場合があります。

baseTIME_UTC の場合、

  • ts->tv_sec は、実装で定義されたエポックからの経過秒数(整数値に切り捨て)に設定されます。
  • ts->tv_nsec メンバーは、システムクロックの解像度に丸められたナノ秒の整数値に設定されます。

目次

[編集] Parameters

ts - struct timespec 型のオブジェクトへのポインタ
base - 時間基底を示す TIME_UTC またはその他のゼロ以外の整数値

[編集] Return value

成功した場合は base の値、それ以外の場合はゼロ。

[編集] Notes

POSIX 関数 clock_gettime(CLOCK_REALTIME, ts) も、エポックからの時間を timespec に格納するために使用できます。

[編集] Example

#include <stdio.h>
#include <time.h>
 
int main(void)
{
    struct timespec ts;
    timespec_get(&ts, TIME_UTC);
    char buff[100];
    strftime(buff, sizeof buff, "%D %T", gmtime(&ts.tv_sec));
    printf("Current time: %s.%09ld UTC\n", buff, ts.tv_nsec);
}

実行結果の例

Current time: 02/18/15 14:34:03.048508855 UTC

[編集] References

  • C23標準 (ISO/IEC 9899:2024)
  • 7.27.2.5 The timespec_get function (p: TBD)
  • C17標準 (ISO/IEC 9899:2018)
  • 7.27.2.5 The timespec_get function (p: 286)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.27.2.5 The timespec_get function (p: 390)

[編集] See also

秒とナノ秒での時間
(構造体)[編集]
与えられた時間基準に基づいて、カレンダー時間の分解能を返す
(関数) [編集]
エポックからの時間としてシステムの現在のカレンダー時間を返す
(関数) [編集]
C++ ドキュメント for timespec_get
English 日本語 中文(简体) 中文(繁體)