ftime - 日付と時間を返す
#include <sys/timeb.h>
int ftime(struct timeb *tp);
NOTE: This function is deprecated, and will be removed in a future
version of the GNU C library. Use
clock_gettime(2) instead.
この関数は現在の時刻を、紀元
(Epoch; 1970-01-01 00:00:00 +0000 (UTC))
からの秒数とミリ秒数で返す。
時刻は
tp
で返され、これは以下のように定義されている:
struct timeb {
time_t time;
unsigned short millitm;
short timezone;
short dstflag;
};
ここで、
time は紀元 (the
Epoch) からの秒数、
millitm
は 紀元から
time
秒後からのミリ秒数である。
timezone
フィールドはグリニッジから西周りの分で計測される
ローカルタイムゾーンである(負数の場合はグリニッジからの東回りの分を
示す)。
dstflag
フィールドは、もし 0
でなければ一年の一部で夏時間が
存在することを示すフラグである。
POSIX.1-2001 では、
timezone と
dstflag
の内容は未定義である;
これに頼るのは避けること。
この関数は常に 0
を返す。 (POSIX.1-2001
仕様及びいくつかのシステムのドキュメントでは、
エラー時に -1 を返す。)
この節で使用されている用語の説明については、
attributes(7) を参照。
インターフェース |
属性 |
値 |
ftime() |
Thread safety |
MT-Safe |
4.2BSD, POSIX.1-2001. POSIX.1-2008 では
ftime()
の仕様が削除されている。
この関数は古いものである。使ってはならない。
秒単位の時間で十分なら、
time(2) が利用できる。
gettimeofday(2)
でマイクロ秒が得られる。
clock_gettime(2)
でナノ秒が得られるが、広く利用可能な訳ではない。
初期の glibc2
ではバグがあり、常に
millitm フィールドに 0
を返す。 glibc 2.1.1
から再び正常になった。
gettimeofday(2),
time(2)
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。