.\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH time_t 3type 2025-10-29 "Linux man-pages 6.16" .SH NAME time_t, suseconds_t, useconds_t \- integer time .SH LIBRARY Standard C library .RI ( libc ) .SH SYNOPSIS .nf .B #include .P .BR typedef " /* ... */ " time_t; .P .B #include .P .BR typedef " /* ... */ " suseconds_t; .BR typedef " /* ... */ " useconds_t; .fi .SH DESCRIPTION .TP .I time_t Used for time in seconds. According to POSIX, it is an integer type of at least 64 bits. .TP .I suseconds_t Used for time in microseconds. It is a signed integer type capable of storing values at least in the range .RB [ \-1 , .BR 1000000 ]. .TP .I useconds_t Used for time in microseconds. It is an unsigned integer type capable of storing values at least in the range .RB [ 0 , .BR 1000000 ]. .SH STANDARDS .TP .I time_t C11, POSIX.1-2024. .TP .I suseconds_t POSIX.1-2024. .TP .I useconds_t None. .SH HISTORY .TP .I time_t C89, POSIX.1-2001. .TP .I suseconds_t POSIX.1-2001. .TP .I useconds_t POSIX.1-2001. Removed in POSIX.1-2008. .SS Header files .I defines .I time_t since POSIX.1-2008. .SS time_t In POSIX.1-2001, .I 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. .P POSIX.1-2024 required that the width of .I time_t is at least 64 bits. .SH NOTES On some architectures, the width of .I time_t can be controlled with the feature test macro .BR _TIME_BITS . See .BR feature_test_macros (7). .P The following headers also provide .IR time_t : .IR , .IR , .IR , .IR , .IR , .IR , .IR , .IR , and .IR . .P The following headers also provide .IR suseconds_t : .I and .IR . .P The following headers also provided .IR useconds_t : .IR . .SH SEE ALSO .BR stime (2), .BR time (2), .BR ctime (3), .BR difftime (3), .BR usleep (3), .BR timeval (3type)