名前空間
変種
操作

std::ctime

From cppreference.com
< cpp‎ | chrono‎ | c
 
 
 
 
ヘッダ <ctime> で定義
char* ctime( const std::time_t* time );

エポックからの指定された時間をカレンダーのローカル時間に変換し、次にテキスト形式の表現に変換します。これは、std::asctime(std::localtime(time)) を呼び出すのと同様です。結果の文字列は次の形式になります。

Www Mmm dd hh:mm:ss yyyy\n
  • Www - 曜日 (MonTueWedThuFriSatSun のいずれか)。
  • Mmm - 月 (JanFebMarAprMayJunJulAugSepOctNovDec のいずれか)。
  • dd - 月の日。
  • hh - 時。
  • mm - 分。
  • ss - 秒。
  • yyyy - 年。

この関数はローカライゼーションをサポートしません。

目次

[編集] パラメータ

time - 印刷する時間を指定する std::time_t オブジェクトへのポインタ

[編集] 戻り値

日付と時刻のテキスト表現を含む、ヌル終端された静的文字列表現へのポインタ。この文字列は std::asctimestd::ctime の間で共有される可能性があり、これらの関数のいずれかを呼び出すたびに上書きされる可能性があります。

[編集] 注意

この関数は静的データへのポインタを返し、スレッドセーフではありません。さらに、std::gmtime および std::localtime と共有される可能性のある静的 std::tm オブジェクトを変更します。POSIX はこの関数を廃止とみなし、代わりに std::strftime を推奨しています。

文字列が25文字を超える結果となる std::time_t の値に対しては、動作が未定義になる可能性があります (例: 西暦10000年)。

[編集]

#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)
指定されたフォーマットに従って日付/時刻の値をフォーマットして出力する
(関数テンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)