Defined in header <time.h>
typedef /* unspecified */ time_t;

Arithmetic (until C11) Real (since C11) type capable of representing times.

Although not defined by the C standard, this is almost always an integral value holding the number of seconds (not counting leap seconds) since 00:00, Jan 1 1970 UTC, corresponding to POSIX time.


The standard uses the term calendar time when referring to a value of type time_t.


Show the start of the epoch.

#include <stdio.h>
#include <time.h>
int main(void)
    time_t epoch = 0;
    printf("%ld seconds since the epoch began\n", (long)epoch);
    printf("%s", asctime(gmtime(&epoch)));

Possible output:

0 seconds since the epoch began
Thu Jan  1 00:00:00 1970


  • C11 standard (ISO/IEC 9899:2011):
    • 7.27.1/3 Components of time (p: 388)
  • C99 standard (ISO/IEC 9899:1999):
    • 7.23.1/3 Components of time (p: 338)
  • C89/C90 standard (ISO/IEC 9899:1990):
    • 4.12.1 Components of time

See also

returns the current calendar time of the system as time since epoch
converts time since epoch to calendar time expressed as local time
converts time since epoch to calendar time expressed as Coordinated Universal Time (UTC)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.