FreeBSD Manual Pages
TIME(3) FreeBSD Library Functions Manual TIME(3) NAME time -- get time of day LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <time.h> time_t time(time_t *tloc); DESCRIPTION The time() function returns the value of time in seconds since 0 hours, 0 minutes, 0 seconds, January 1, 1970, Coordinated Universal Time (UTC). If an error occurs, time() returns the value (time_t)-1. The return value is also stored in *tloc, provided that tloc is non-null. ERRORS The time() function may fail for any of the reasons described in clock_gettime(2). SEE ALSO clock_gettime(2), gettimeofday(2), ctime(3) STANDARDS The time function conforms to IEEE Std 1003.1-2008 ("POSIX.1"). HISTORY The time() system call first appeared in Version 1 AT&T UNIX. Through the Version 3 AT&T UNIX, it returned 60 Hz ticks since an epoch that changed occasionally, because it was a 32-bit value that overflowed in a little over 2 years. In Version 4 AT&T UNIX the granularity of the return value was reduced to whole seconds, delaying the aforementioned overflow until 2038. Version 7 AT&T UNIX introduced the ftime() system call, which returned time at a millisecond level, though retained the gtime() system call (ex- posed as time() in userland). time() could have been implemented as a wrapper around ftime(), but that wasn't done. 4.1cBSD implemented a higher-precision time function gettimeofday() to replace ftime() and reimplemented time() in terms of that. Since FreeBSD 9 the implementation of time() uses clock_gettime(CLOCK_SECOND) instead of gettimeofday() for performance reasons. BUGS Neither ISO/IEC 9899:1999 ("ISO C99") nor IEEE Std 1003.1-2001 ("POSIX.1") requires time() to set errno on failure; thus, it is impossi- ble for an application to distinguish the valid time value -1 (represent- ing the last UTC second of 1969) from the error return value. Systems conforming to earlier versions of the C and POSIX standards (in- cluding older versions of FreeBSD) did not set *tloc in the error case. FreeBSD 13.0 April 14, 2022 FreeBSD 13.0
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | ERRORS | SEE ALSO | STANDARDS | HISTORY | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=time&sektion=3&manpath=FreeBSD+13.2-RELEASE>