timespec_getres
From cppreference.com
| ヘッダー <time.h> で定義 |
||
| int timespec_getres( struct timespec *ts, int base ); |
(C23以降) | |
ts がヌルでなく、base が timespec_get でサポートされている場合、base が提供する時間の分解能を *ts に格納します。サポートされている各 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) |
与えられた時間基準に基づいて、カレンダー時間を秒とナノ秒で返す (関数) |
| エポックからの時間としてシステムの現在のカレンダー時間を返す (関数) |