#include <sys/timeb.h> [[deprecated]] int ftime(struct timeb *tp);
この関数は現在の時刻を、紀元 (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 の内容は未定義です; これに頼るのは避けてください。
| インターフェース | 属性 | 値 |
| ftime() | Thread safety | MT-Safe |
この関数は古いものです。使ってはいけません。秒単位の時間で十分なら、 time(2) が利用できます。 gettimeofday(2) でマイクロ秒が得られます。clock_gettime(2) でナノ秒が得られますが、広く利用可能な訳ではありません。