asctime | Programming Place Plus C言語編 標準ライブラリのリファレンス

トップページC言語編標準ライブラリのリファレンス(名前順)

トップページC言語編標準ライブラリのリファレンス(ヘッダ別)


asctime関数 🔗

概要 カレンダー時間を文字列化する。
ヘッダ time.h
形式
// C23 より前
char* asctime(const struct tm* t);

// C23
[[deprecated]] char* asctime(const struct tm* t);
引数 t 日時の情報を格納した tm構造体へのポインタ。
戻り値 整形された文字列へのポインタ。
詳細 tm構造体の内容に応じて、それを文字列に整形する。フォーマットは、“Wed Apr 04 16:18:50 2018\n” のような形になり、文字数はつねに一定である。終端文字の手前には改行文字がある。
注意

C23 から非推奨となっており、asctime_s関数の使用が推奨される(asctime_s関数自体は C11 から存在する)。

返されるポインタは、標準ライブラリ内のどこかにある静的記憶域期間を持った配列を指している。この配列の内容は、他の標準ライブラリ関数の呼び出しによって上書きされることがある。たとえば、次回の asctime関数や ctime関数の呼び出しで上書きされるかもしれない。そのため、あとで結果を使う場合は、コピーを取っておくべきである。
使用例
#include <stdio.h>
#include <time.h>

int main(void)
{
    time_t t = time(NULL);
    struct tm* utc = gmtime(&t);

    printf(asctime(utc));
}

実行結果:

Sun Apr 03 04:07:27 2011
関連

変換前の形式が time_t型である場合は、ctime関数を使える。

C11 からは、安全性を高めた asctime_s関数がある。
解説章 第51章


参考リンク 🔗

本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。


更新履歴 🔗



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る