名前空間
変種
操作

std::asctime

提供: 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> で定義
char* asctime( const std::tm* time_ptr );

指定されたカレンダー時刻 std::tm を固定の25文字の書式のテキスト表現 Www Mmm dd hh:mm:ss yyyy\n に変換します。

  • Www - time_ptr->tm_wday が表す3文字の英語の曜日の省略形、 Mon, Tue, Wed, Thu, Fri, Sat, Sun のいずれか。
  • Mmm - time_ptr->tm_mon が表す3文字の英語の月名の省略形、 Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec のいずれか。
  • dd - %2d を用いた sprintf によって表示されたかのような timeptr->tm_mday が表す2桁の日。
  • hh - %.2d を用いた sprintf によって表示されたかのような timeptr->tm_hour が表す2桁の時。
  • mm - %.2d を用いた sprintf によって表示されたかのような timeptr->tm_min が表す2桁の分。
  • yyyy - %4d を用いた sprintf によって表示されたかのような timeptr->tm_year + 1900 が表す4桁の年。

*time_ptr のいずれかのメンバがその通常の範囲の外側の場合、動作は未定義です。

time_ptr->tm_year が表すカレンダー年が5桁以上または1000年未満の場合、動作は未定義です。

この関数はローカライゼーションをサポートせず、改行文字は削除することができません。

この関数は静的記憶域を変更し、スレッドセーフでありません。

目次

[編集] 引数

time_ptr - 表示する時刻を表す std::tm オブジェクトを指すポインタ

[編集] 戻り値

日付および時刻のテキスト表現を保持する静的なヌル終端文字列を指すポインタ。 文字列は std::asctimestd::ctime の間で共有されているかもしれず、これらの関数の呼び出しのたびに上書きされるかもしれません。

[編集] ノート

この関数は静的データを指すポインタを返し、スレッドセーフでありません。 POSIX はこの関数に時代遅れの印を付けており、代わりに std::strftime を推奨しています。

POSIX は未定義動作を出力文字列が25文字を超える場合、 timeptr->tm_wday または timeptr->tm_mon が期待される範囲内でない場合、または timeptr->tm_yearINT_MAX-1990 を超える場合のみに限定しています。

処理系によっては timeptr->tm_mday==0 を前月の最終日を意味するものとして処理します。

[編集]

#include <ctime>
#include <iostream>
 
int main()
{
    std::time_t result = std::time(nullptr);
    std::cout << std::asctime(std::localtime(&result));
}

出力:

Mon Apr  3 20:26:26 2017

[編集] 関連項目

time_t オブジェクトをテキスト表現に変換します
(関数) [edit]
tm オブジェクトをカスタムテキスト表現に変換します
(関数) [edit]
(C++11)
指定された書式に従って日付/時刻の値をフォーマットして出力します
(関数テンプレート) [edit]