timespec_getres
|
ヘッダーで定義
<time.h>
|
||
|
int
timespec_getres
(
struct
timespec
*
ts,
int
base
)
;
|
(C23以降) | |
ts
が非NULLであり、かつ
base
が
timespec_get
によってサポートされている場合、
*
ts
を、
base
に対して
timespec_get
が提供する時間の分解能を保持するように変更します。
サポートされている各
base
について、同じプログラム実行中における
timespec_getres
の複数回の呼び出しは同一の結果を返します。
目次 |
パラメータ
| ts | - | struct timespec 型のオブジェクトへのポインタ |
| base | - | TIME_UTC または時間ベースを示す他の非ゼロ整数値 |
戻り値
base
がサポートされている場合は
base
の値、それ以外の場合はゼロ。
注記
POSIX関数
clock_getres(clock_id, ts)
は、
clock_id
で識別される時間の分解能で
timespec
を設定するためにも使用できます。
例
#include <stdio.h> #include <time.h> int main(void) { char buff[128]; struct timespec ts; const int res = timespec_getres(&ts, TIME_UTC); if (res == TIME_UTC) { struct tm timer; strftime(buff, sizeof buff, "%D %T", gmtime_r(&ts.tv_sec, &timer)); printf("Time resolution info: %s.%09ld UTC\n", buff, ts.tv_nsec); } else { printf("TIME_UTC base is not supported."); } }
出力例:
Time resolution info: 01/01/70 00:00:00.000000001 UTC
関連項目
|
(C11)
|
秒とナノ秒での時間
(構造体) |
|
(C11)
|
指定された時間基準に基づいて秒とナノ秒でのカレンダー時間を返す
(関数) |
|
エポックからの経過時間としてシステムの現在のカレンダー時間を返す
(関数) |