strftime |
| ||||
strftime | |||||
ヘッダ | #include <time.h> | ||||
形 式 | size_t strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr);
機 能
| formatで指される文字列によって制御され、sで指される配列に文字を格納する。その書式は、初期シフト状態で始まり、初期シフト状態で終わる多バイト文字列でなければならない。format文字列は、0個以上の変換指定子と通常の多バイト文字からなる。変換指定子は、%文字に続く変換指定子の動作を決定する文字からなる。終端を示すナル文字を含め、すべての通常の多バイト文字を、変換することなく配列に複写する。重なり合うオブジェクト間で複写する場合、その動作は定義されない。maxsize個を超えた文字を、配列に格納することはない。それぞれの変換指定子は、次の並びに示す適切な文字に置き換わる。その適切な文字は、そのときのロケールのLC_TIMEカテゴリおよびtimeptrで指される構造体の中に含まれている値によって決定する。 | %a そのロケールの簡略された曜日の名前に置き換わる。 %A そのロケールの簡略されていない曜日の名前に置き換わる。 %b そのロケールの簡略された月の名前に置き換わる。 %B そのロケールの簡略されていない月の名前に置き換わる。 %c そのロケールの適切な日付および時刻表現に置き換わる。 %d 10進数で月の日(01~31)に置き換わる。 %H 10進数で(24時間制)時間(00~23)に置き換わる。 %I 10進数で(12時間制)時間(01~12)に置き換わる。 %j 10進数で年の日(001~366)に置き換わる。 %m 10進数で月(01~12)に置き換わる。 %M 10進数で分(00~59)に置き換わる。 %p そのロケールの、12時間制に関連した午前または午後の表記に相当するものに置き換わる。 %S 10進数で秒(00~61)に置き換わる。 %U 10進数で(最初の日曜日を第1週の最初の日とした)年の週の数(00~53)に置き換わる。 %w 10進数で曜日(0~6)に置き換わる。このとき、日曜日を0とする。 %W 10進数で(最初の月曜日を第1週の最初の日とした)年の週番号(00~53)に置き換わる。 %x そのロケールの適切な日付表現に置き換わる。 %X そのロケールの適切な時間表現に置き換わる。 %y 10進数で西暦の下2けたの年(00~99)に置き換わる。 %Y 10進数で西暦の年に置き換わる。 %Z 地方時の名前もしくは略号または地方時がない場合は文字以外のものに置き換わる。%% %に置き換わる。 変換指定子がここに示したいずれでもない場合、動作は定義されない。 返却値
| 終端を示すナル文字を含む結果の文字の総数がmaxsize個以下の場合、strftime関数は終端を示すナル文字を含まない、sで指される配列に格納された文字数を返す。そうでなければ0を返し、配列の内容は不定とする。
| |