timespec
From cppreference.com
| ヘッダー <time.h> で定義 |
||
| struct timespec; |
(C11 以降) | |
秒とナノ秒に分割された時間間隔を保持する構造体。
目次 |
[編集] メンバ変数
| メンバ | 説明 |
time_t tv_sec |
秒単位(有効な値は 0 以上) |
/* 下記参照 */ tv_nsec |
ナノ秒単位(有効な値は [0, 999999999]) |
|
|
(C23まで) |
|
|
(C23以降) |
tv_sec と tv_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)
[編集] 関連項目
| (C11) |
与えられた時間基準に基づいて、カレンダー時間を秒とナノ秒で返す (関数) |
| カレンダー時間型 (構造体) | |
| timespec の C++ ドキュメント
| |