Next: High-Resolution Calendar, Up: Calendar Time [Contents][Index]
This section describes the time_t
data type for representing calendar
time as simple time, and the functions which operate on simple time objects.
These facilities are declared in the header file time.h.
This is the data type used to represent simple time. Sometimes, it also
represents an elapsed time. When interpreted as a calendar time value,
it represents the number of seconds elapsed since 00:00:00 on January 1,
1970, Coordinated Universal Time. (This calendar time is sometimes
referred to as the epoch.) POSIX requires that this count not
include leap seconds, but on some systems this count includes leap seconds
if you set TZ
to certain values (see Specifying the Time Zone with TZ
).
Note that a simple time has no concept of local time zone. Calendar Time T is the same instant in time regardless of where on the globe the computer is.
In the GNU C Library, time_t
is equivalent to long int
.
In other systems, time_t
might be either an integer or
floating-point type.
The function difftime
tells you the elapsed time between two
simple calendar times, which is not always as easy to compute as just
subtracting. See Elapsed Time.
Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.
The time
function returns the current calendar time as a value of
type time_t
. If the argument result is not a null pointer,
the calendar time value is also stored in *result
. If the
current calendar time is not available, the value
(time_t)(-1)
is returned.
Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.
stime
sets the system clock, i.e., it tells the system that the
current calendar time is newtime, where newtime
is
interpreted as described in the above definition of time_t
.
settimeofday
is a newer function which sets the system clock to
better than one second precision. settimeofday
is generally a
better choice than stime
. See High-Resolution Calendar.
Only the superuser can set the system clock.
If the function succeeds, the return value is zero. Otherwise, it is
-1
and errno
is set accordingly:
EPERM
The process is not superuser.
Next: High-Resolution Calendar, Up: Calendar Time [Contents][Index]