名前空間
変種
操作

std::timespec_get

提供: cppreference.com
< cpp‎ | chrono‎ | c
 
 
 
日付と時間のユーティリティ
(C++11)
(C++11)
時計
(C++20)
                                                  
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
カレンダー
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
タイムゾーン
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C スタイルの日付と時間
 
 
ヘッダ <ctime> で定義
int timespec_get( std::timespec* ts, int base)
(C++17以上)
#define TIME_UTC /* implementation-defined */
(C++17以上)
1) ts の指す std::timespec オブジェクトにタイムベース base における現在のカレンダー時刻を格納します。
2) timespec_get の引数 base として使用するのに適した値に展開されます。

追加のタイムベースを表す TIME_ で始まる他のマクロ定数が処理系によって提供される場合があります。

baseTIME_UTC の場合、

  • ts->tv_sec は処理系定義のエポックからの秒数に設定されます。端数は切り捨てられます。
  • ts->tv_nsec はシステムクロックの分解能に丸められたナノ秒に設定されます。

目次

[編集] 引数

ts - std::timespec 型のオブジェクトを指すポインタ
base - TIME_UTC またはタイムベースを表すその他の非ゼロな整数値

[編集] 戻り値

成功した場合は base の値、そうでなければゼロ。

[編集] ノート

POSIX の関数 clock_gettime(CLOCK_REALTIME, ts) もエポックからの時間を std::timespec に取得するために使用することができます。

[編集]

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

出力例:

Current time: 06/24/16 20:07:42.949494132 UTC

[編集] 関連項目

(C++17以上)
時間を秒とナノ秒で表す型
(構造体) [edit]
現在のシステム時刻をエポックからの経過時間として返します
(関数) [edit]
timespec_getC言語リファレンス