名前空間
変種
操作

timespec

From cppreference.com
< c‎ | chrono
ヘッダー <time.h> で定義
struct timespec;
(C11 以降)

秒とナノ秒に分割された時間間隔を保持する構造体。

目次

[編集] メンバ変数

メンバ 説明
time_t tv_sec 秒単位(有効な値は 0 以上)
/* 下記参照 */ tv_nsec ナノ秒単位(有効な値は [0999999999]

tv_nsec の型は long です。

(C23まで)

tv_nsec の型は、[0999999999] の整数値を表現できる、実装定義の符号付き整数型です。

(C23以降)

tv_sectv_nsec の宣言順序は未指定です。実装は struct timespec に他のメンバを追加する場合があります。

[編集] 注記

一部のプラットフォームでは tv_nsec の型は long long ですが、これは C23 以降でのみ準拠しています。

[編集]

#include <stdint.h>
#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);
    printf("Raw timespec.tv_sec: %jd\n", (intmax_t)ts.tv_sec);
    printf("Raw timespec.tv_nsec: %09ld\n", ts.tv_nsec);
}

実行結果の例

Current time: 04/04/24 14:45:17.885909786 UTC
Raw timespec.tv_sec: 1712241917
Raw timespec.tv_nsec: 885909786

[編集] 参照

  • C23標準 (ISO/IEC 9899:2024)
  • 7.27.1/3 時間の構成要素 (p: TBD)
  • C17標準 (ISO/IEC 9899:2018)
  • 7.27.1/3 時間の構成要素 (p: 284)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.27.1/3 時間の構成要素 (p: 388)

[編集] 関連項目

与えられた時間基準に基づいて、カレンダー時間を秒とナノ秒で返す
(関数) [編集]
カレンダー時間型
(構造体)[編集]
timespec の C++ ドキュメント
English 日本語 中文(简体) 中文(繁體)