# Standard library header <ctime>

From cppreference.com
< cpp‎ | header

This header was originally in the C standard library as `<time.h>`.

This header is part of the C-style date and time library.

### Macro Constants

CLOCKS_PER_SEC | number of processor clock ticks per second (macro constant)
NULL | implementation-defined null pointer constant (macro constant)

### Types

clock_t | process running time (typedef)
size_t | unsigned integer type returned by the `sizeof` operator (typedef)
time_t | time since epoch type (typedef)
tm | calendar time type (class)
timespec (since C++17) | time in seconds and nanoseconds (struct)

### Functions

##### Time manipulation
clock | returns raw processor clock time since the program is started (function)
time | returns the current time of the system as time since epoch (function)
difftime | computes the difference between times (function)
timespec_get (since C++17) | returns the calendar time based on a given time base (function)
##### Format conversions
ctime | converts a `time_t` object to a textual representation (function)
asctime | converts a `tm` object to a textual representation (function)
strftime | converts a `tm` object to custom textual representation (function)
wcsftime | converts a `tm` object to custom wide string textual representation (function)
gmtime | converts time since epoch to calendar time expressed as Universal Coordinated Time (function)
localtime | converts time since epoch to calendar time expressed as local time (function)
mktime | converts calendar time to time since epoch (function)

### Synopsis

    #define NULL /* see definition */
    #define CLOCKS_PER_SEC /* see definition */
    #define TIME_UTC /* see definition */
    namespace std {
      using size_t = /* see definition */;
      using clock_t = /* see definition */;
      using time_t = /* see definition */;
      struct timespec;
      struct tm;
      clock_t clock();
      double difftime(time_t time1, time_t time0);
      time_t mktime(struct tm* timeptr);
      time_t time(time_t* timer);
      int timespec_get(timespec* ts, int base);
      char* asctime(const struct tm* timeptr);
      char* ctime(const time_t* timer);
      struct tm* gmtime(const time_t* timer);
      struct tm* localtime(const time_t* timer);
      size_t strftime(char* s, size_t maxsize, const char* format, const struct tm* timeptr);
    }

### Class std::timespec

    struct timespec {
      std::time_t tv_sec;
      long tv_nsec;
    };

### Class std::tm

    struct tm {
      int tm_sec;
      int tm_min
      int tm_hour;
      int tm_mday;
      int tm_mon;
      int tm_year;
      int tm_wday;
      int tm_yday;
      int tm_isdst;
    };

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/header/ctime&oldid=105143"