STRFTIME

Section: C Library Functions (3)
索引 jman

BSD mandoc
 

索引

名称

strftime - 日付と時間をフォーマット  

索引

ライブラリ

Lb libc  

索引

書式

In time.h Ft size_t Fn strftime char *buf size_t maxsize const char *format const struct tm *timeptr  

索引

解説

Fn strftime 関数は、 Fa timeptr からの情報を Fa format によって指される文字列に従ってバッファ Fa buf にフォーマットします。

Fa format 文字列は、0 以上の変換指定および通常の文字から構成されます。 すべての通常文字は、直接バッファにコピーされます。 変換指定は、パーセント記号 ```%' '' ともう 1 つの文字から構成されます。

配列には Fa maxsize 個を超えない文字が置かれます。 結果として生じる文字の総数が終端のヌル文字を含めて Fa maxsize を超えない場合は、 Fn strftime は終端のヌルを数えないで配列中の文字数を返します。 それ以外の場合は 0 を返し、バッファの内容は不定になります。

変換指定は、以下に示すような形で展開した後バッファにコピーされます :

%A
各国の表現で完全な曜日名で置き換えられます。
%a
各国の表現で省略した曜日名で置き換えられます。 ここで、略称は最初の 3 文字です。
%B
各国の表現で完全な月名で置き換えられます。
%b
各国の表現で省略した月名で置き換えられます。 ここで、略称は最初の 3 文字です。
%C
(西暦年 / 100) の 10 進数で置き換えられます。 1 桁の数字の前には 0 が付きます。
%c
各国の表現で時刻と日付で置き換えられます。 書式は ctime(3) が生成するものと同様であり、"%a %Ef %T %Y" と等価です。 これはまた、"3+1+6+1+8+1+4" の出力フォーマットを意味します。
%D
``%m/%d/%y '' と同等です。
%d
日を示す 10 進数 (01-31) で置き換えられます。
%E* %O*
POSIX の地域拡張です。 %Ec %EC %Ex %EX %Ey %EY %Od %Oe %OH %OI %Om %OM %OS %Ou %OU %OV %Ow %OW %Oy というシーケンスは、代替的な表現を与えるものと見なされます。

更に、%Ef は短縮形の月の名前と日を示し、 また %EF は長い形式の月と日を示し、 また %OB は別の形式の月の名前を示します (単独で使用し日付は指定しません)。

%e
日を示す 10 進数 (1-31) で置き換えられます。 1 桁の数字の前には空白が付きます。
%G
百年紀付きの年の 10 進数で置き換えられます。 この年は、週の大部分を含んだものとなります (月曜日を週の最初の日として)。
%g
``%G '' と同じ年ですが、百年紀なしの 10 進数 (00-99) で置き換えられます。
%H
(24 時間時計で) 時間を示す 10 進数 (00-23) で置き換えられます。
%h
%b と同じです。
%I
(12 時間時計で) 時間を示す 10 進数 (01-12) で置き換えられます。
%j
1 年の日を示す 10 進数 (001-366) で置き換えられます。
%k
(24 時間時計で) 時間を示す 10 進数 (0-23) で置き換えられます。 1 桁の数字の前には空白が付きます。
%l
(12 時間時計で) 時間を示す 10 進数 (1-12) で置き換えられます。 1 桁の数字の前には空白が付きます。
%M
分を示す 10 進数 (00-59) で置き換えられます。
%m
月を示す 10 進数 (01-12) で置き換えられます。
%n
改行で置き換えられます。
%O*
%E* と同じです。
%p
各国の表現で "午前" または "午後" の いずれか該当する表示で置き換えられます。
%R
``%H:%M '' と同等です。
%r
``%I:%M:%S %p '' と同等です。
%S
秒を示す 10 進数 (00-60) で置き換えられます。
%s
世界標準時基準時点からの秒数で置き換えられます (mktime3 参照)。
%T
``%H:%M:%S '' と同等です。
%t
タブで置き換えられます。
%U
1 年のうちの週数 (日曜日を週の最初の日として) を示す 10 進数 (00-53) で置き換えられます。
%u
1 週のうちの日 (月曜日を週の最初の日として) を示す 10 進数 (1-7) で置き換えられます。
%V
1 年のうちの週数 (月曜日を週の最初の日として) を示す 10 進数 (01-53) で置き換えられます。 新年の 1 月 1 日を含む週に 4 日以上の日がある場合は、 その週が第 1 週となります。 それ以外の場合は、その週は前年の最後の週となり、 その次の週が第 1 週となります。
%v
``%e-%b-%Y '' と同等です。
%W
1 年のうちの週数 (月曜日を週の最初の日として) を示す 10 進数 (00-53) で置き換えられます。
%w
1 週のうちの日 (日曜日を週の最初の日として) を示す 10 進数 (0-6) で置き換えられます。
%X
各国の表現で時刻で置き換えられます。
%x
各国の表現で日付で置き換えられます。
%Y
百年紀付きの年を示す 10 進数で置き換えられます。
%y
百年紀なしの年を示す 10 進数 (00-99) で置き換えられます。
%Z
時間帯名で置き換えられます。
%z
は UTC からの時間帯の差で置き変えられます。 先頭のプラス記号は UTC から東を意味し、 マイナス記号は UTC から西を意味します。 続く時間と分は、それぞれ 2 桁であり、間に区切り文字はありません (RFC 822 時刻ヘッダに共通です)。
%+
各国の表現で日付と時刻を示すもので置き換えられます (フォーマットは date(1) によって作成されるものと同じです)。
%%
`%' で置き換えられます。

 

索引

関連項目

date(1), printf(1), ctime(3), printf(3), strptime(3)  

索引

規格

Fn strftime 関数は、 `%C' , `%D' , `%E*' , `%e' , `%G' , `%g' , `%h' , `%k' , `%l' , `%n' , `%O*' , `%R' , `%r' , `%s' , `%T' , `%t' , `%u' , `%V' , `%z' , `%+' などを含む多くの拡張を含めて、 St -isoC に適合しています。

`%G' , `%g' , および `%V' の置き換えにおける特殊な週数および年数は、 ISO 8601: 1988 に定義されています。  

索引

バグ

月の象に関する変換指定は備えていません。


 

索引

Index

名称
ライブラリ
書式
解説
関連項目
規格
バグ

jman



Time: 07:07:10 GMT, January 12, 2009