bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo C リファレンス > セクション 3c - C 関数 |
Tuxedo C リファレンス
|
名前
strftime()−日付と時刻を文字列に変換
形式
#include <time.h>
size_t *strftime (char *s, size_t maxsize, const char *format, const struct tm *timeptr);
機能説明
strftime() は、format が指す文字列の制御に従って、s が指す配列に文字を入れます。format 文字列は、ゼロ個以上のディレクティブと通常文字で構成します。すべての通常文字 (文字列の最後を表す NULL 文字列を含む) は、そのまま配列に複写されます。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)
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |