ОБЗОР
#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 — это количество секунд с начала эпохи; millitm — количество миллисекунд, прошедших после time секунд с начала эпохи. Поле timezone — локальный часовой пояс, измеряемый в минутах западнее Гринвича (отрицательные значения означают минуты восточнее Гринвича). Поле dstflag — флаг, ненулевое значение которого указывает, что в соответствующее время года используется летнее время.
В POSIX.1-2001 сказано, что содержимое полей timezone и dstflag не определено; не используйте их.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Эта функция всегда возвращает 0 (в POSIX.1-2001, а также в некоторых системах возвращается -1 при ошибке).АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).Интерфейс | Атрибут | Значение |
ftime() | безвредность в нитях | безвредно (MT-Safe) |
СООТВЕТСТВИЕ СТАНДАРТАМ
4.2BSD, POSIX.1-2001. В POSIX.1-2008 спецификация ftime() удалена.Эта функция устарела. Не используйте её. В случаях, когда достаточно секунд, можно использовать time(2); gettimeofday(2) позволяет работать с микросекундами; функция clock_gettime(3) позволяет работать с наносекундами, однако она пока ещё не очень широко распространена.
ДЕФЕКТЫ
Ранние версии glibc2 работают некорректно и возвращают 0 в поле millitm; начиная с glibc 2.1.1 эта ошибка исправлена.