Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GETTIMEOFDAY(2)		      System Calls Manual	       GETTIMEOFDAY(2)

NAME
       gettimeofday, settimeofday -- get/set date and time

LIBRARY
       Standard	C Library (libc, -lc)

SYNOPSIS
       #include	<sys/time.h>

       int
       gettimeofday(struct timeval *tp,	struct timezone	*tzp);

       int
       settimeofday(const struct timeval *tp, const struct timezone *tzp);

DESCRIPTION
       Note:  The gettimeofday function	(but not settimeofday) is obsolescent.
       See the "STANDARDS" section for more details.

       The system's notion of the current Greenwich time and the current  time
       zone  is	obtained with the gettimeofday() system	call, and set with the
       settimeofday() system call.  The	time is	expressed in seconds  and  mi-
       croseconds since	midnight (0 hour), January 1, 1970.  The resolution of
       the  system  clock  is  hardware	dependent, and the time	may be updated
       continuously or in "ticks".  If tp or tzp is NULL, the associated  time
       information will	not be returned	or set.

       The structures pointed to by tp and tzp are defined in <sys/time.h> as:

       struct timeval {
	       time_t	       tv_sec;	       /* seconds */
	       suseconds_t     tv_usec;	       /* and microseconds */
       };

       struct timezone {
	       int     tz_minuteswest; /* minutes west of Greenwich */
	       int     tz_dsttime;     /* type of dst correction */
       };

       The  timezone structure indicates the local time	zone (measured in min-
       utes of time westward from Greenwich), and a flag that, if nonzero, in-
       dicates that Daylight Saving time applies locally during	the  appropri-
       ate part	of the year.  The kernel generally does	not track these	values
       and  they  are  usually returned	as zero.  Use localtime(3) to find the
       offset for the currently	active timezone.

       Only the	super-user may set the time of day or time zone.  If the  sys-
       tem  is running at securelevel >= 2 (see	init(8)), the time may only be
       advanced	or retarded by a maximum of one	second.	  This	limitation  is
       imposed	to  prevent a malicious	super-user from	setting	arbitrary time
       stamps on files.	 The system time can be	adjusted backwards without re-
       striction using the adjtime(2) system call even when the	system is  se-
       cure.

RETURN VALUES
       Upon  successful	 completion,  the  value  0 is returned; otherwise the
       value -1	is returned and	the global variable errno is set  to  indicate
       the error.

ERRORS
       The following error codes may be	set in errno:

       [EINVAL]		  The supplied timeval value is	invalid.

       [EPERM]		  A  user  other  than the super-user attempted	to set
			  the time.

SEE ALSO
       date(1),	adjtime(2), clock_gettime(2), ctime(3),	timeradd(3), clocks(7)

STANDARDS
       The gettimeofday	function is considered obsolescent and its usage  dis-
       couraged	by IEEE	Std 1003.1-2008, 2017 Edition (POSIX.1).  Applications
       should use the clock_gettime(2) function	instead.

HISTORY
       The gettimeofday() system call appeared in 4.2BSD.

FreeBSD	13.2			April 28, 2024		       GETTIMEOFDAY(2)

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=settimeofday&sektion=2&manpath=FreeBSD+14.2-RELEASE+and+Ports>

home | help