bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

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 文字列は、ゼロ個以上のディレクティブと通常文字で構成します。すべての通常文字 (文字列の最後を表す NULL 文字列を含む) は、そのまま配列に複写されます。strftime() の場合、maxsize 個以上の文字は配列には入りません。

format が (char *)0 である場合、ロケールのデフォルトの形式が使用されます。デフォルトの形式は "%c" と同じです。

各ディレクティブは、次のリストの記述に従って該当する文字と置き換えられます。該当文字はプログラムのロケールの LC_TIME カテゴリおよび timeptr が指す構造体に格納されている値によって判別されます。

文字

説明

%%

% と同じ

%a

該当ロケールにおける曜日の略称

%A

該当ロケールにおける曜日の正式名

%b

該当ロケールの月の略称

%B

該当ロケールの月の正式名

%c

該当ロケールの日付/時刻表現

%C

date(1) によって出力される該当ロケールの日付/時刻表現

%d

月の日 (01-31)

%D

%m/%d/%y 形式による日付

%e

月の日 (1-31: 1 桁の数字には先頭に空白が付く)

%h

該当ロケールの月の略称

%H

時刻 (00-23)

%I

時刻 (01-12)

%j

年の通算日 (001-366)

%m

月の番号 (01-12)

%M

分 (00-59)

%n

¥ と同じ

%p

該当ロケールの午前または午後の表現

%r

%I:%M:%S [AM|PM] 形式の時刻表現

%R

%H:%M と同じ

%S

秒 (00-61)、うるう秒も可

%t

タブの挿入

%T

%H:%M:%S 形式の時刻表現

%U

年間の週番号 (00-53)、第 1 週の第 1 日目を日曜日とする

%w

曜日番号 (0-6)、日曜日 = 0

%W

年間の週番号 (00-53)、第 1 週の第 1 日目を月曜日とする

%x

該当ロケールの日付表現

%X

該当ロケールの時刻表現

%y

1 世紀の年数 (00 - 99)

%Y

ccyy 形式の年表現 (例: 1986)

%Z

時間帯の名前、時間帯が存在しなければなし


 

%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_TIMElocale を設定することによって特定の言語に変更することができます。

時間帯

時間帯は環境変数 TZ から取り込まれます (TZ の詳細については、ctime(3C) を参照)。

使用例

strftime() の使用例を示します。この例は、tmptr が指す構造体に、ニュージャージー州における 1986 年 8 月 28 日木曜日の 12 時 44 分 36 秒に対応する値が入っている場合に、str の文字列がどのようになるかを示しています。

strftime (str, strsize, "%A %b %d %j", tmptr)

この結果、str には "Thursday Aug 28 240" の文字列が入ります。

ファイル

$TUXDIR/locale/locale/LANGINFO−コンパイルされたロケール固有の日付/時刻情報を収めているファイル

関連項目

mklanginfo(1)setlocale(3c)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy