名 前
ftime − 日 付 と 時 間 を 返 す
書 式
#include <sys/timeb.h>
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 の 内 容 は 未 定 義 で あ る ; こ れ に 頼 る の は 避 け る こ と 。
返 り 値
こ の 関 数 は 常 に 0 を 返 す 。 (POSIX.1−2001 仕 様 及 び い く つ か の シ ス テ ム の ド キ ュ メ ン ト で は 、 エ ラ ー 時 に −1 を 返 す 。 )
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 )
ftime() 関 数 は ス レ ッ ド セ ー フ で あ る 。
準 拠
4.2BSD, POSIX.1−2001. POSIX.1−2008 で は ftime() の 仕 様 が 削 除 さ れ て い る 。 こ の 関 数 は 古 い も の で あ る 。 使 っ て は な ら な い 。 秒 単 位 の 時 間 で 十 分 な ら 、 time(2) が 利 用 で き る 。 gettimeofday(2) で マ イ ク ロ 秒 が 得 ら れ る 。 clock_gettime(2) で ナ ノ 秒 が 得 ら れ る が 、 広 く 利 用 可 能 な 訳 で は な い 。
バ グ
初 期 の glibc2 で は バ グ が あ り 、 常 に millitm フ ィ ー ル ド に 0 を 返 す 。 glibc 2.1.1 か ら 再 び 正 常 に な っ た 。
関 連 項 目
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。