TIME_SECOND(9) BSD Kernel Developer's Manual TIME_SECOND(9)
time_second, time_uptime, boottime -- system time variables
extern time_t time_second;
extern time_t time_uptime;
extern struct timeval boottime;
The time_second variable is the system's ``wall time'' clock. It is set at boot by
inittodr(9), and is updated periodically via timecounter(9) framework, and also updated by
the settimeofday(2) system call.
The time_uptime variable is a monotonically increasing system clock. It is set at boot, and
is updated periodically. (It is not updated by settimeofday(2).)
The boottime variable holds the system boot time. It is set at system boot, and is updated
when the system time is adjusted with settimeofday(2). The variable may be read and written
without special precautions.
All of these variables contain times expressed in seconds and microseconds since midnight (0
hour), January 1, 1970.
The bintime(9), getbintime(9), microtime(9), getmicrotime(9), nanotime(9), and
getnanotime(9) functions can be used to get the current time more accurately and in an
Similarly, the binuptime(9), getbinuptime(9), microuptime(9), getmicrouptime(9),
nanouptime(9), and getnanouptime(9) functions can be used to get the time elapsed since boot
more accurately and in an atomic manner.
clock_settime(2), ntp_adjtime(2), timeval(3), hardclock(9), hz(9)
BSD March 13, 2008 BSD