|
|
strftime(3c)
名前
strftime()-日付と時刻を文字列に変換
形式
#include <time.h>
size_t *strftime (char *s, size_t maxsize, const char *format, const
struct tm *timeptr);
機能説明
strftime() は、format が指す文字列の制御に従って、s が指す配列に文字を入れます。format 文字列は、ゼロ個以上のディレクティブと通常文字で構成します。すべての通常文字 (文字列の最後を表すヌル文字列を含む) は、そのまま配列に複写されます。strftime() の場合、maxsize 個以上の文字は配列には入りません。
format が (char *)0 である場合、ロケールのデフォルトの形式が使用されます。デフォルトの形式は "%c" と同じです。
各ディレクティブは、次のリストの記述に従って該当する文字と置き換えられます。該当文字はプログラムのロケールの LC_TIME カテゴリおよび timeptr が指す構造体に格納されている値によって判別されます。
%U と %W の相違点は、日にちを週の初日から数えるかどうかという点です。週番号 01 は、%U の場合、日曜日から始まる1月の第1週、%W の場合は月曜日から始まる1月の第1週を表します。また、週番号 00 には、%U および %W でそれぞれ最初の日曜日または月曜日の前の日にちを表します。 終結 NULL 文字を含む結果として得られた文字の合計数が maxsize を超えない場合、strftime() は s が指す配列に置かれた文字数 (終結 NULL 文字を含まない) を返します。maxsize を超えた場合には、ゼロが返され、配列の内容は不定になります。 マルチスレッドのアプリケーション中のスレッドは、TPINVALIDCONTEXT を含め、どのコンテキスト状態で実行していても、strftime() の呼び出しを発行できます。 出力言語の選択 デフォルトの設定では、strftime() の出力は U.S.English で行われます。strftime() の出力は、setlocale() にカテゴリ LC_TIME の locale を設定することによって特定の言語に変更することができます。 時間帯 時間帯は環境変数 TZ から取り込まれます(TZ の詳細については、ctime(3C) を参照)。 使用例 strftime() の使用例を示します。この例は、tmptr が指す構造体に、ニュージャージー州における 1986 年 8 月 28 日木曜日の 12 時 44 分 36 秒に対応する値が入っている場合に、str の文字列がどのようになるかを示しています。 この結果、str には "Thursday Aug 28 240" の文字列が入ります。 ファイル $TUXDIR/locale/locale/LANGINFO -コンパイルされたロケール固有の日付/時刻情報を収めているファイル 関連項目strftime (str, strsize, "%A %b %d %j", tmptr)
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|