STRPTIME(3) FreeBSD ライブラリ関数マニュアル STRPTIME(3)
名称
strptime − 日付および時刻を表す文字列を解釈する |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <time.h> char * |
strptime(const char *buf, const char *format, struct tm *timeptr); |
解説 |
strptime() 関数は、バッファ buf 中の文字列を format で示される文字列に 従って解釈し、 timeptr が指す構造体の要素に入れます。この結果は地域時間に 適切に合わされます。したがって、これは strftime(3) の逆方向の操作と考える ことができます。 format 文字列は、0 以上の変換則と通常文字からなります。すべての通常文字 は、バッファと厳密にマッチされます。そして、フォーマット文字列の空白文字 はバッファ中の任意の数の空白文字とマッチします。すべての変換則は、 strftime(3) に記述したものと同じです。 形式に含まれる %y で示される 2 桁の年の値、および %D は、 POSIX 要求仕様 によって 1969 年から始まるように解釈されます。年が 69-00 の場合は 20 世紀 (1969-2000) と、年が 01-68 の場合は 21 世紀 (2001-2068) と解釈されます。 |
戻り値
成功して終了した場合、 strptime() は format 中の変換指定を満たすためには 必要とされなかった buf 中の最初の文字へのポインタを返します。変換が一つで も失敗した場合は NULL を返します。 |
関連項目
作者
strptime() 関数は、 Powerdog Industries によって寄贈されました。 このマニュアルページは、 Jörg Wunsch. によって書かれました。 |
歴史
strptime() 関数は FreeBSD 3.0 で登場しました。 |
バグ
変換形式 %e と %l の両方はもし意図された値が一桁の数値だけで成り、かつそ の数値にすぐに続けて他の整数が続く場合、一桁を越えて不正確なスキャンを行 います。これらの変換形式には、たとえ詰めていない値を取得する場合でも 0 詰 めした値を渡してください。 変換形式 %p は時間を示す変換形式が解析された 後でないと意味を持ちません。 変換形式 %l は %p が無いと未定義の結果を作り出します。注 12AM (午前) は深 夜を指し、12PM (午後) は正午を指します。 変換仕様 %U と %W は他の値 (例えば年の中の月や日など) を取得する場合とは 対照に、正当性の検査なしに 00 から 53 の範囲の中での値を受け付けます。 変換仕様 %Z は時間帯として省略された地域時間か "GMT" のみを受け付けます。 この制限は多義的な時間帯の省略がオーバロードされる場合に影響します。たと えば一つの例として EST は東部標準時と東部オーストラリア夏時間が挙げられま す。 FreeBSD 10.0 May 8, 1997 FreeBSD 10.0 |