ctime() — 時間から文字ストリングへの変換
フォーマット
#include <time.h>
char *ctime(const time_t *time);
言語レベル
ANSI
スレッド・セーフ
いいえ
代わりに ctime_r() を使用します。
ロケール依存
この関数の振る舞いは、現行ロケールの LC_TOD カテゴリーの影響を受ける可能性があります。詳細については、CCSID およびロケールの理解を参照してください。
説明
ctime() 関数は、time が指す時間の値を文字ストリング形式の現地時間に変換します。 時間の値は通常、time() 関数を呼び出して取得します。
ctime() が作成するストリングの結果にはちょうど 26 文字が含まれ、以下の形式となっています。
"%.3s %.3s%3d %.2d:%.2d:%.2d %d\n"
以下に例を示します。
Mon Jul 16 02:03:55 1987\n\0
ctime() 関数は 24 時間クロック形式を使用します。曜日は、Sun、Mon、Tue、Wed、Thu、Fri、および Sat に省略されます。月の省略形は、Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、および Dec です。すべてのフィールドには固定幅があります。1 桁しかない日付は、ゼロがその前に置かれます。 改行文字 (\n) および NULL 文字 (\0) がストリングの最後の位置を占めます。
戻り値
ctime() 関数は、文字ストリングの結果を指すポインターを戻します。
関数が正常に実行されなかった場合、NULL を戻します。ctime() 関数の呼び出しは次の式と同じです。
asctime(localtime(&anytime))
注: asctime() 関数と ctime() 関数、および他の時間関数は、戻りストリングの保持用に静的に割り振られた共通のバッファーを使用できます。
これらの関数の 1 つを呼び出すごとに、以前の呼び出しの結果が破棄される可能性があります。asctime_r()、ctime_r()、gmtime_r()、および localtime_r() 関数は、戻りストリングの保持用に静的に割り振られた共通のバッファーを使用しません。
再入可能性を希望する場合は、これらの関数を asctime()、ctime()、gmtime()、および localtime() の代わりに使用することができます。
例
次の例では、time() を使用してシステム・クロックをポーリングします。ポーリングの次に、現在の日時を示すメッセージを出力します。
#include <time.h>
#include <stdio.h>
int main(void)
{
time_t ltime;
time(<ime);
printf("the time is %s", ctime(<ime));
}
関連情報
- asctime() — 時間から文字ストリングへの変換
- asctime_r() — 時間から文字ストリングへの変換 (再始動可能)
- ctime_r() — 時間から文字ストリングへの変換 (再始動可能)
- ctime64() — 時間から文字ストリングへの変換
- ctime64_r() — 時間から文字ストリングへの変換 (再始動可能)
- gmtime() — 時間の変換
- gmtime64() — 時間の変換
- gmtime64_r() — 時間の変換 (再始動可能)
- gmtime_r() — 時間の変換 (再始動可能)
- localtime() — 時間の変換
- localtime64() — 時間の変換
- localtime64_r() — 時間の変換 (再始動可能)
- localtime_r() — 時間の変換 (再始動可能)
- mktime() — 地方時の変換
- mktime64() — 地方時の変換
- setlocale() — ロケールの設定
- strftime() — 日付/時刻からストリングへの変換
- time() — 現在時刻の判別
- time64() — 現在時刻の判別
- printf() — 定様式の文字の出力
- <time.h>