Manpages

名 前

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 で は 、 timezonedstflag の 内 容 は 未 定 義 で あ る ; こ れ に 頼 る の は 避 け る こ と 。

返 り 値

こ の 関 数 は 常 に 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 か ら 再 び 正 常 に な っ た 。

関 連 項 目

gettimeofday(2), time(2)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。