- NetBSD Manual Pages
TIME_SECOND(9) NetBSD Kernel Developer's Manual TIME_SECOND(9)
Powered by man-cgi (2021-03-02).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
time_second, time_uptime, boottime -- system time variables
extern time_t time_second;
extern time_t time_uptime;
extern struct timespec 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
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
All of these variables contain times expressed in seconds (and for
boottime, nanoseconds) since midnight (0 hour), January 1, 1970, UTC.
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 atomic manner.
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
clock_settime(2), ntp_adjtime(2), timespec(3), hardclock(9), hz(9)
NetBSD 9.0 October 30, 2018 NetBSD 9.0