std::time
From cppreference.com
| ヘッダ <ctime> で定義 |
||
| std::time_t time( std::time_t* arg ); |
||
std::time_t オブジェクトとしてエンコードされた現在のカレンダー時刻を返します。また、arg がヌルポインタでない限り、arg が指すオブジェクトにも格納します。
目次 |
[編集] パラメータ
| arg | - | 時刻を格納する std::time_t オブジェクトへのポインタ、またはヌルポインタ |
[編集] 戻り値
成功時には std::time_t オブジェクトとしてエンコードされた現在のカレンダー時刻を返し、エラー時には (std::time_t)(-1) を返します。arg がヌルでない場合、戻り値は 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
[編集] 関連項目
| (C++17) |
与えられた時間基準に基づいて、カレンダー時間を秒とナノ秒で返す (関数) |
| エポックからの時間を、地方時で表されるカレンダー時間に変換する (関数) | |
| エポックからの時刻を世界協定時刻として表現されたカレンダー時刻に変換する (関数) | |
| (C++11) |
システム全体のリアルタイムクロックからの実時間 (クラス) |
| time のための C ドキュメント
| |