Namespaces
Variants

std:: time

From cppreference.net
< cpp ‎ | chrono ‎ | c
ヘッダーで定義 <ctime>

現在のカレンダー時刻を std::time_t としてエンコードして返し、さらに arg がnullポインタでない限り、そのオブジェクトが指す先にも格納します。

目次

パラメータ

arg - 時間を格納する std::time_t オブジェクトへのポインタ、またはヌルポインタ

戻り値

成功時には現在のカレンダー時間が std::time_t オブジェクトとしてエンコードされ、 ( std:: time_t ) ( - 1 ) がエラー時に返される。 arg がnullでない場合、戻り値は arg が指すオブジェクトにも格納される。

注記

std::time_t における暦時刻のエンコーディングは未規定ですが、ほとんどのシステムは POSIX仕様 に準拠し、エポックからの暦日数に86400を乗算した値にUTCでの前回の深夜からの経過秒数を加算した整数型の値を返します。特に重要な点として、POSIX時間は閏秒を考慮しておらず(また考慮できません)、この整数値はエポックからの経過 S.I.秒 数と等しくなく、エポック以降に発生した閏秒の数だけ減少しています。 std::time_t が32ビット符号付き整数である実装(多くの歴史的実装)は 2038年 に問題が発生します。

#include <ctime>
#include <iostream>
int main()
{
    std::time_t result = std::time(nullptr);
    std::cout << std::asctime(std::localtime(&result))
              << result << " seconds since the Epoch\n";
}

出力例:

Wed Sep 21 10:27:52 2011
1316615272 seconds since the Epoch

関連項目

指定された時間ベースに基づいて、秒とナノ秒単位のカレンダー時間を返す
(関数)
エポックからの経過時間をローカル時間で表現されたカレンダー時間に変換する
(関数)
エポックからの経過時間を協定世界時で表現されたカレンダー時間に変換する
(関数)
システム全体のリアルタイムクロックからの壁時計時間
(クラス)