std:: ctime
|
ヘッダーで定義
<ctime>
|
||
|
char
*
ctime
(
const
std::
time_t
*
time
)
;
|
||
エポックからの経過時間をカレンダーの現地時間に変換し、その後、以下の呼び出しと同様にテキスト表現に変換します: std:: asctime ( std:: localtime ( time ) ) 。結果の文字列は以下の形式を持ちます:
Www Mmm dd hh:mm:ss yyyy\n
-
Www- 曜日(Mon、Tue、Wed、Thu、Fri、Sat、Sunのいずれか)。 -
Mmm- 月(Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Decのいずれか)。 -
dd- 月内の日付。 -
hh- 時間。 -
mm- 分。 -
ss- 秒。 -
yyyy- 年。
この関数はローカライゼーションをサポートしていません。
目次 |
パラメータ
| time | - | 出力する時間を指定する std::time_t オブジェクトへのポインタ |
戻り値
静的でヌル終端された文字列へのポインタで、日付と時刻の文字列表現を保持します。この文字列は
std::asctime
と
std::ctime
の間で共有される可能性があり、これらの関数のいずれかが呼び出されるたびに上書きされる可能性があります。
注記
この関数は静的データへのポインタを返し、スレッドセーフではありません。さらに、静的 std::tm オブジェクトを変更します。このオブジェクトは std::gmtime および std::localtime と共有されている可能性があります。POSIXはこの関数を廃止予定とし、代わりに std::strftime の使用を推奨しています。
値が25文字を超える文字列を生成する場合(例えば、年が10000年)、 std::time_t の動作は未定義となる可能性があります。
例
#include <cassert> #include <cstring> #include <ctime> #include <iostream> int main() { std::time_t result = std::time(nullptr); std::cout << std::ctime(&result); char buffer[32]; std::strncpy(buffer, std::ctime(&result), 26); assert('\n' == buffer[std::strlen(buffer) - 1]); std::cout << buffer; }
出力例:
Mon Oct 11 17:10:55 2021 Mon Oct 11 17:10:55 2021
関連項目
|
std::tm
オブジェクトをテキスト表現に変換する
(関数) |
|
|
std::tm
オブジェクトをカスタムテキスト表現に変換する
(関数) |
|
|
(C++11)
|
指定されたフォーマットに従って日付/時刻値をフォーマットし出力する
(関数テンプレート) |
|
C documentation
for
ctime
|
|