スポンサーリンク

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 を返します。

関連項目

date(1), scanf(3), strftime(3)

作者

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

スポンサーリンク