strftime - 時間の文字列への変換

【書式】

#include <time.h>

size_t strftime(char *s, size_t smax, const char *fmt, const struct

tm *tp);

【解説】

strftime() はtpが指す構造体であたえられた日付・時間情報をfmtで示され

る形式に従って変換し、sで指定された文字配列にセットします。

変換仕様は%プラス1文字で、次のように指定します。

%a

曜日の頭3文字(Sun Mon Tue...)

%A

曜日(Sunday Monday Tuesday...)

%b

月の頭3文字(Jan Feb Mar...)

%B

月(January February March...)

%c

日時(YY/MM/DD HH:MM:SS)

%d

日(01-31)

%H

時(24時間制)(00-23)

%I

時(12時間制)(01-12)

%j

通算日数(001-366)

%m

月(01-12)

%M

分(00-59)

%p

AMあるいはPM

%S

秒(00-59)

%U

日曜日からの第n週(00-53)

%w

曜日(0-6, 0:日曜日)

%W

月曜日からの第n週(00-53)

%x

日付(YY/MM/DD)

%X

時刻(HH:MM:SS)

%y

西暦の下位2桁(00-99)

%Y

西暦(1970-)

%Z

タイムゾーン(JST...)

%%

%

これら以外の文字はfmtからsにそのままコピーされます。この変換はfmt の

ナル文字 ('\0')に出会うまで続けられます。sにはナル文字もコピーされま

す。

smaxはsに書込むことができる最大文字数を与えます。

【リターン値】

sに書込まれた文字数(ナル文字は含まない)を返します。smax 文字以上が生

成されたときには0を返します。

【可搬性】

ANSI, UNIX, DOS窓

【参照】

TZ(3), time(3)

【バグ】

%a, %A, %b, %B, %c, %p, %x, %XはANSIの定義ではlocaleによって変換方法

が変化することになっています。しかし、本ライブラリではlocaleをサポー

トしていません。

【copyright (c) 安江正樹@東海大学理学部物理学科】