---
name: "time_t"
section: "3type"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/time_t/3type"
---

# time\_t(3type)

integer time

## 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

- *time\_t*

  Used for time in seconds. According to POSIX, it is an integer type of at least 64 bits.

- *suseconds\_t*

  Used for time in microseconds. It is a signed integer type capable of storing values at least in the range \[**-1**, **1000000**\].

- *useconds\_t*

  Used for time in microseconds. It is an unsigned integer type capable of storing values at least in the range \[**0**, **1000000**\].

## STANDARDS

- *time\_t*

  C11, POSIX.1-2024.

- *suseconds\_t*

  POSIX.1-2024.

- *useconds\_t*

  None.

## HISTORY

- *time\_t*

  C89, POSIX.1-1988.

- *suseconds\_t*

  SUSv2, POSIX.1-2001 XSI, POSIX.1-2024.

- *useconds\_t*

  SUSv1, POSIX.1-2001 XSI. Removed in POSIX.1-2008.

### Header files

*\<sched.h\>* defines *time\_t* since POSIX.1-2008.

### time\_t

POSIX.1-2024 requires that the width of *time\_t* is at least 64 bits; however, some systems still use 32 bits by default.

## NOTES

On some architectures, the width of *time\_t* can be controlled with the feature test macro **\_TIME\_BITS**. See [**feature\_test\_macros**(7)](/feature_test_macros/7.md).

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)](/stime/2.md), [**time**(2)](/time/2.md), [**ctime**(3)](/ctime/3.md), [**difftime**(3)](/difftime/3.md), [**usleep**(3)](/usleep/3.md), [**timeval**(3type)](/timeval/3type.md)
