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
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 関連項目
-
- 規格
-
- バグ
-
Time: 07:07:10 GMT, January 12, 2009