TIME.H(3HEAD) Headers TIME.H(3HEAD)

NAME


time.h, time - time types

SYNOPSIS


#include <time.h>

DESCRIPTION


The <time.h> header declares the structure tm, which includes the following
members:

int tm_sec /* seconds [0,60] */
int tm_min /* minutes [0,59] */
int tm_hour /* hour [0,23] */
int tm_mday /* day of month [1,31] */
int tm_mon /* month of year [0,11] */
int tm_year /* years since 1900 */
int tm_wday /* day of week [0,6] (Sunday =0) */
int tm_yday /* day of year [0,365] */
int tm_isdst /* daylight savings flag */

The value of tm_isdst is positive if Daylight Saving Time is in effect, 0
if Daylight Saving Time is not in effect, and negative if the information
is not available.

The <time.h> header defines the following symbolic names:

CLOCK_MONOTONIC
The identifier for the system-wide monotonic clock, which is
defined as a clock whose value cannot be set with clock_settime()
and that cannot have backward clock jumps. The maximum possible
clock jump is implementation-defined. See clock_settime(3C).

CLOCKS_PER_SEC
A number used to convert the value returned by the clock() function
into seconds. See clock(3C).

CLOCK_PROCESS_CPUTIME_ID
The identifier of the CPU-time clock associated with the process
making a clock() or timer_*() function call. This clock includes
both user and system CPU-time.

CLOCK_REALTIME
The identifier of the system-wide realtime clock.

CLOCK_THREAD_CPUTIME_ID
The identifier of the CPU-time clock associated with the thread
making a clock() or timer_*() function call. This clock includes
both user and system CPU-time.

CLOCK_VIRTUAL
The identifier of the CPU-time clock associated with the thread
making a clock() or timer_*() function call. This clock only
includes user CPU-time.

NULL Null pointer constant.

TIMER_ABSTIME
Flag indicating time is absolute. For functions taking timer
objects, this refers to the clock associated with the timer.

TIME_UTC
The identifier for the system-wide realtime clock with no time zone
translation. Used in timespec_get().

The <time.h> header declares the timespec structure, which has the
following members:

time_t tv_sec /* seconds */
long tv_nsec /* nanoseconds */

The <time.h> header declares the itimerspec structure, which has the
following members:

struct timespec it_interval /* timer period */
struct timespec it_value /* timer expiration */

The clock_t, size_t, time_t, clockid_t, and timer_t types are defined as
described in <sys/types.h>. See types.h(3HEAD).

Although the value of CLOCKS_PER_SEC is required to be 1 million on all
standard-conforming systems, it can be variable on other systems, and it
should not be assumed that CLOCKS_PER_SEC is a compile-time constant.

The <time.h> header provides a declaration for getdate_err.

The following are declared as variables:

extern int daylight;
extern long timezone;
extern char *tzname[];

Inclusion of the <time.h> header can make visible all symbols from the
<signal.h> header.

USAGE


The range [0,60] for tm_sec allows for the occasional leap second.

tm_year is a signed value; therefore, years before 1900 can be represented.

To obtain the number of clock ticks per second returned by the times()
function, applications should call sysconf(_SC_CLK_TCK). See times(2) and
sysconf(3C).

INTERFACE STABILITY


Committed

SEE ALSO


time(2), utime(2), clock(3C), clock_settime(3C), ctime(3C), difftime(3C),
getdate(3C), mktime(3C), nanosleep(3C), strftime(3C), strptime(3C),
timer_create(3C), timer_delete(3C), timer_settime(3C), timespec_get(3C),
types.h(3HEAD), attributes(7), standards(7)

illumos October 4, 2021 illumos