Scroll to navigation

time_t(3type) time_t(3type)

NAME

time_t, suseconds_t, useconds_t - integer time

LIBRARY

Standard C library (libc)

SYNOPSIS

#include <time.h>
typedef /* ... */  time_t;
#include <sys/types.h>
typedef /* ... */  suseconds_t;
typedef /* ... */  useconds_t;

DESCRIPTION

Used for time in seconds. According to POSIX, it is an integer type of at least 64 bits.
Used for time in microseconds. It is a signed integer type capable of storing values at least in the range [-1, 1000000].
Used for time in microseconds. It is an unsigned integer type capable of storing values at least in the range [0, 1000000].

STANDARDS

C11, POSIX.1-2024.
POSIX.1-2024.
None.

HISTORY

C89, POSIX.1-2001.
POSIX.1-2001.
POSIX.1-2001. Removed in POSIX.1-2008.

Header files

<sched.h> defines time_t since POSIX.1-2008.

time_t

In POSIX.1-2001, time_t was specified as being either an integer type or a real-floating type. However, existing implementations used an integer type, and POSIX.1-2008 tightened the specification to reflect this.

POSIX.1-2024 required that the width of time_t is at least 64 bits.

NOTES

On some architectures, the width of time_t can be controlled with the feature test macro _TIME_BITS. See feature_test_macros(7).

The following headers also provide time_t: <sched.h>, <sys/msg.h>, <sys/select.h>, <sys/sem.h>, <sys/shm.h>, <sys/stat.h>, <sys/time.h>, <sys/types.h>, and <utime.h>.

The following headers also provide suseconds_t: <sys/select.h> and <sys/time.h>.

The following headers also provided useconds_t: <unistd.h>.

SEE ALSO

stime(2), time(2), ctime(3), difftime(3), usleep(3), timeval(3type)

2025-10-29 Linux man-pages (unreleased)