Defined in header <time.h>
time_t time( time_t *arg );

Returns the current calendar time encoded as a time_t object, and also stores it in the time_t object pointed to by arg (unless arg is a null pointer).

Parameters

arg - pointer to a time_t object where the time will be stored, or a null pointer

Return value

Current calendar time encoded as time_t object on success, (time_t)(-1) on error. If arg is not a null pointer, the return value is also stored in the object pointed to by arg.

Notes

The encoding of calendar time in time_t is unspecified, but most systems conform to POSIX specification and return a value of integral type holding the number of seconds since the Epoch. Implementations in which time_t is a 32-bit signed integer (many historical implementations) fail in the year 2038.

Example

#include <stdio.h>
#include <time.h>
#include <stdint.h>
 
int main(void)
{
    time_t result = time(NULL);
    if(result != -1)
        printf("The current time is %s(%ju seconds since the Epoch)\n",
               asctime(gmtime(&result)), (uintmax_t)result);
}

Possible output:

The current time is Fri Apr 24 15:05:25 2015
(1429887925 seconds since the Epoch)

References

  • C11 standard (ISO/IEC 9899:2011):
  • C99 standard (ISO/IEC 9899:1999):
    • 7.23.2.4 The time function (p: 341)
  • C89/C90 standard (ISO/IEC 9899:1990):
    • 4.12.2.4 The time function

See also

(C11)
converts time since epoch to calendar time expressed as local time
(function)
(C11)
converts time since epoch to calendar time expressed as Coordinated Universal Time (UTC)
(function)
(since C11)
returns the calendar time based on a given time base
(function)