seclan のほえほえルーム

| |

プログラミング言語 C の新機能 Appendix I: time.h: strftime の書式指定子

・
2001/07/16 []

 C99 では、strftime に指定できる書式指定子が増えています。追加されたものも含め、それらを以下に示します。

strftime 書式指定子

指定子説明参照メンバ
(struct tm *)
範囲
年月日・曜日
%Y, %EYtm_year例:1997
%C, %EC年の上二桁00-99
%y, %Ey, %Oy年の下二桁00-99
%m, %Omtm_mon01-12
%Bロケール依存の月の名前
["C" locale: "January", ..., "December"]
%b, %h(別名)ロケール依存の省略された月の名前
["C" locale: %B の先頭 3 文字]
%d, %Odtm_mday01-31%Od:必要に応じて先頭に0を追加。または0に対応する代替記号がなければ空白を付加
%e, %Oeその月の日付。一桁の場合は空白が置かれる1-31%Oe:必要に応じて空白を先頭に追加

%Aロケール依存の曜日名tm_wday
["C" locale: "Sunday", ..., "Saturday"]
%aロケール依存の省略された曜日名
["C" locale: %A の先頭 3 文字]
%w, %Ow曜日0-6日曜=0
%u, %Ou曜日 (ISO8601形式)1-7月曜=1

%x, %Exロケール依存の日付表現all
["C" locale: %A %B %d %Y]
通し番号



%j年内の通し番号tm_yday001-366

%W, %OWその年の週の通し番号tm_year,tm_wday,tm_yday00-53月曜が週の始まり
%U, %OUその年の週の通し番号00-53日曜が週の始まり
週ベース年




%G週ベース年tm_year, tm_wday, tm_yday例:1997
下部注参照
%g週ベース年の下二桁00-99
%V, %OV週ベース年の通し番号01-53
時分秒
%H, %OH24時間単位の時tm_hour00-23

%p12時間単位の午前午後を表す文字列
["C" locale: am, pm]
%I, %OI12時間単位の時01-12

%M, %OMtm_min00-59

%S, %OStm_sec00-60


%X, %EXロケール依存の時刻表現all
["C" locale: %T]
%rロケール依存の12時間単位の時刻tm_hour, tm_min, tm_sec
["C" locale: %I:%M:%S %p]
%R%H:%Mtm_hour, tm_min

%T%H:%M:%S (ISO8601時刻形式)tm_hour, tm_min, tm_sec

日時

%c, %Ecロケール依存の適切な日時表現all
["C" locale: %A %B %d %T %Y]
%D%m/%d/%ytm_mon, tm_mday, tm_year

%F%y-%m-%d (ISO8601日付形式)tm_year, tm_mon, tm_mday,

Time Zone
T
i
m
e
Z
o
n
e
%zISO8601形式での UTC からのオフセットtm_isdst例:"+0900"
タイムゾーンが不明ならば文字無し
%Zロケールのタイムゾーンの名前または省略名例:JST
タイムゾーンが不明ならば文字無し
["C" locale: 実装定義]
その他


%n改行


%t水平タブ


%%%


・%E? は、「ロケールでの別の代替表現による...」をあらわす
・%O? は、「ロケールの代替数値記号を使った...」をあらわす
・%E?,%O?: 現在のロケールで修飾子がなければそれは無視
赤字以外は C99 で追加されたもの。ただし POSIX ですでに追加されていたものもある。
・%g, %G, %V で使用されている ISO8601 の週ベース年とは、その年の第一週に 1 月 4 日を含んでおり、かつ少なくともその年を 4 日分含んでいる、月曜日から始まる週を、その年の始めの週として勘定する方式の年である。


by seclan

| |

 

配信

5.71 msec